performance - Julia 从标准正态分布中绘制

标签 performance random julia normal-distribution juno-ide

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

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

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

最佳答案

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

尝试在调试器中运行此命令以查看:

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()))")

您在演出中是否接近内存不足?

关于performance - Julia 从标准正态分布中绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59832175/

相关文章:

mysql - 应该以什么顺序(表列或查询)组合索引?

sql - Entity Framework select可以阻塞表吗?

python - Pycrypto 的 Random.get_random_bytes 和一个简单的随机字节生成器有什么区别?

templates - 不允许依赖于 Julia 中类型定义中的整数类型参数的表达式

c - 使用 OpenMP 进行矩阵乘法 (C) - 折叠所有循环

performance - 三角函数的效率/速度

随机选择 R 数据中的特定行

bash - 我的 bash 变量中到底是什么

windows - 在Julia和Windows中设置PGFPlot

julia - 如何让 Julia CuArrays 使用下载的 CUDA 10.2 而不是下载新副本?