2

我需要从标准正态分布中提取 53000000 个观察值。我当前的代码需要很长时间才能在 Julia 中运行(事实上,它已经运行了过去 20 分钟),我想知道是否有什么可以加快它的速度。这是我尝试过的:

using Distributions
d = Normal()
shock = rand(d, 1, 53000000)

当我在 REPL 中执行代码时(我在 Juno/Atom 中工作),代码会立即运行,但在我逐步使用调试器时会滞后(从标准法线绘制)。所以我认为调试器可能是这里真正的罪魁祸首。

4

1 回答 1

2

可能是在shock加载调试器时,分配变量所使用的 1/2 gig 内存有时会导致交换。

尝试运行它以在调试器中查看:

using Distributions, Base.Sys

println("Free memory is $(Int(Sys.free_memory()))")
d = Normal()
shock = rand(d, 1, 53000000)
println("shock uses $(sizeof(shock)) bytes.")
println("Free memory is $(Int(Sys.free_memory()))")

你在演出中快要失忆了吗?

于 2020-01-21T04:46:33.180 回答