我正在尝试使用以下硬件进行Julia 1.3
的多线程功能:
Model Name: MacBook Pro
Processor Name: Intel Core i7
Processor Speed: 2.8 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Hyper-Threading Technology: Enabled
Memory: 16 GB
运行以下脚本时:
function F(n)
if n < 2
return n
else
return F(n-1)+F(n-2)
end
end
@time F(43)
它给我以下输出
2.229305 seconds (2.00 k allocations: 103.924 KiB)
433494437
但是运行以下从Julia page about multithreading复制的代码时>]
import Base.Threads.@spawn function fib(n::Int) if n < 2 return n end t = @spawn fib(n - 2) return fib(n - 1) + fetch(t) end fib(43)
我的计算机在没有任何输出的情况下,RAM / CPU的使用率从3.2GB / 6%跃升到15GB / 25%(至少1分钟,之后我决定终止julia会话)
我在做什么错?
我正在尝试使用以下硬件的Julia 1.3多线程功能:型号名称:MacBook Pro处理器名称:Intel Core i7处理器速度:2.8 GHz处理器数量:1总数量...