我想试试Julia编程语言,因为我听说它应该比Python快。我决定尝试一个Project Euler #14的动态程序,因为它处理了大量的计算(找到最长的Collatz序列)。在
我用Julia编写了一个程序,然后决定尝试用Python编写一个类似的程序,看看每个程序的速度有多快。然而,在我的机器上,Python程序运行大约需要2秒,而Julia one则需要大约7秒。这让我很惊讶,因为正如我之前所说,Julia声称比Python快,所以我想知道脚本中是否有什么固有的东西使Julia one慢得多。我试图用同样的方法计算它们。在
这是剧本,如果有任何见解,我将不胜感激!在Julia:global max_val = 0
global max_item = 0
global d = Dict{Integer,Integer}()
function coll_length(n)
#println(n)
global max_val
global max_item
global d
if haskey(d,n)
return d[n]
end
if n==1
answer = 1
elseif n%2==1
answer = 1+coll_length(3n+1)
else
answer = 1+coll_length(n/2)
end
d[n]=answer
if max_val
max_val=answer
max_item=n
end
return answer
end
for i = 1:1000000
coll_length(i)
end
println(max_item)Python:
^{pr2}$