xlli
xlli

性别: 注册于 2024-01-24

向TA求助
20金币数
60 经验值
0个粉丝
主页被访问 49 次

最近动态

2024-01-24 15:23 回答问题

之前的方法可以减少代码量 t = table(1..7 as nodeID,`a1`a2`a3`a4`a5`a6`a7 as nodeName, 0 1 1 2 2 3 3 as parentID) def getchildnode(t1,t):select * from t1 union select t.nodeID, t.nodeName, t1.pathid + "->" + string(t.nodeID) as pathid,t1.pathname + "->" + t.nodeN

2024-01-24 15:17 回答问题

对于这种有顺序依赖的计算逻辑(一个结果传递到下一个结果执行),一般只能通过for循环来实现。优化这种计算一般有两个方向。 一是并行计算。将数据按照股票代码分成N批数据,股票代码之间一般不会有依赖关系,N批数据使用submitJob等方式并行执行计算。 二是减少for循环内代码的执行时间。循环次数无法改变,那么就需要优化单次执行的时间,这个需要看实际代码的执行逻辑。

2024-01-24 15:14 回答问题

在计算1 2 3 7 0 1 3 6 8 0 5时,两个0之间的序列一定是单调递增序列,逻辑等同于计算(7-1) + (8-0) + (5-0),等同于(7+8) -1 + 5,等同于计算(所有0之前的数字之和)- (第一个数字)+ (最后一个数字) 性能对比:

2024-01-24 15:00 回答问题

可以使用each代替for循环,单线程求解,会比for循环快。 inputList = take([matrix([1, 2], [3, 4])], 5000000) outputList = take([[7, 10]], 5000000) timer res = each(solve{,}, inputList, outputList) 也有并行的peach方法,但单个任务耗时比较短,用peach无法提升性能。