Julia 替代规模!对于子阵列对象
我听说Julia 替代规模!对于子阵列对象,julia,Julia,我听说子阵列和其他阵列操作将在未来进行。目前,由于子阵列速度慢,我的代码中出现了一些相当小的速度慢。下面是一个例子: A=rand(Float32,20000,20000); B=sub(A,2:19999,2:19999); @time scale!(A,0.2f0); @time scale!(B,0.2f0); 导致 elapsed time: 0.245619038 seconds elapsed time: 11.706939438 seconds 所以scale的速度大约是阵列上
子阵列
和其他阵列操作将在未来进行。目前,由于子阵列速度慢,我的代码中出现了一些相当小的速度慢。下面是一个例子:
A=rand(Float32,20000,20000);
B=sub(A,2:19999,2:19999);
@time scale!(A,0.2f0);
@time scale!(B,0.2f0);
导致
elapsed time: 0.245619038 seconds
elapsed time: 11.706939438 seconds
所以scale在大小相似的子阵列上,code>的速度大约是阵列上的40-50倍
是否有一个简单的变通方法可用于scale代码>是否暂时在子阵列上?或者我应该等待下一版本的改进吗
如果没有解决办法,这不是什么大问题,我只是好奇。如果你愿意,从根本上提高性能并不特别困难<代码>比例
只需要一个使用笛卡尔(多维)索引而不是线性索引的实现。目前,这确实意味着您必须使用可能不熟悉的语法
scale的核心代码代码>。你会想让它看起来更像。函数体将实际更改两个字符(将s*
添加到该赋值的RHS)
当然,如果您想坚持使用Julia 0.3,那么最好使用您自己的自定义实现