我刚刚编写了这个非常简单的函数来测试 Julia 和 MATLAB 的性能。我只是注意到 MATLAB 中的执行时间要短得多。这是简单的代码:
MATLAB:
tic
aa = 0;
for loop =1:1e6
aa = aa+loop;
end
toc
Run Code Online (Sandbox Code Playgroud)
经过的时间是 0.004628 秒。
朱莉娅:
function sum_test(a)
for i = 1:1e6
a = a + i
end
return a
end
Run Code Online (Sandbox Code Playgroud)
经过的时间是 0.093886155s:93 毫秒。
我还在 Julia 中编写了一个函数来避免使用全局变量,这提高了性能,但它仍然比 MATLAB 慢得多。有人可以帮我理解这一点吗?
这是我在 Julia 平台中的代码,我想加快速度。无论如何,我可以让这个更快吗?50k*50k的数据集需要0.5秒。我原以为 Julia 会比这快得多,否则我不确定我是否在做一个愚蠢的实现。
ar = [[1,2,3,4,5], [2,3,4,5,6,7,8], [4,7,8,9], [9,10], [2,3,4,5]]
SV = rand(10,5)
function h_score_0(ar ,SV)
m = length(ar)
SC = Array{Float64,2}(undef, size(SV, 2), m)
for iter = 1:m
nodes = ar[iter]
for jj = 1:size(SV, 2)
mx = maximum(SV[nodes, jj])
mn = minimum(SV[nodes, jj])
term1 = (mx - mn)^2;
SC[jj, iter] = (term1);
end
end
return score = sum(SC, dims = 1)
end
Run Code Online (Sandbox Code Playgroud) julia ×2