Julia 性能tips

使用数组的视图而不是拷贝
julia> fcopy(x) = sum(x[2:end-1]);

julia> @views fview(x) = sum(x[2:end-1]);

julia> x = rand(10^6);

julia> @time fcopy(x);
  0.003051 seconds (3 allocations: 7.629 MB)

julia> @time fview(x);
  0.001020 seconds (1 allocation: 16 bytes)

[]进行数组切片的时候,默认会复制一份到新的存储区域,这就造成了不必要的存储和时间的开销。比如求和这个运算就不需要拷贝数据。

@views会提示Julia不进行拷贝。

你可能感兴趣的:(Julia 性能tips)