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,那么最好使用您自己的自定义实现