我如何在Julia中测量RAM消耗和计算时间?

我如何在Julia中测量RAM消耗和计算时间?,julia,ubuntu-16.04,ram,memory-consumption,Julia,Ubuntu 16.04,Ram,Memory Consumption,我正在开发不同的离散化方案,为了找出哪一种是最有效的方案,我想确定最大内存消耗以及执行特定任务所需的时间,例如解方程组、覆盖矩阵或将数据写入文件 有什么代码或东西可以做我需要的吗? 顺便说一下,我正在Ubuntu中使用Julia,但我也可以在Windows中使用 非常感谢我喜欢使用内置的@time来做这种事情。看见例如: julia> @time myAwesomeFunction(tmp); 1.293542 seconds (22.08 M allocations: 893.866

我正在开发不同的离散化方案,为了找出哪一种是最有效的方案,我想确定最大内存消耗以及执行特定任务所需的时间,例如解方程组、覆盖矩阵或将数据写入文件

有什么代码或东西可以做我需要的吗? 顺便说一下,我正在Ubuntu中使用Julia,但我也可以在Windows中使用


非常感谢

我喜欢使用内置的
@time
来做这种事情。看见例如:

julia> @time myAwesomeFunction(tmp);
  1.293542 seconds (22.08 M allocations: 893.866 MiB, 6.62% gc time)
这将打印出时间、内存分配的数量、内存分配的大小以及垃圾收集所花费的时间百分比(“gc”)始终至少运行两次-第一次运行将由编译时间控制

也可以考虑。这将使用一些很酷的变量插值技巧多次运行代码,并为您提供更好的运行时/内存估计:

julia> using BenchmarkTools, Compat

julia> @btime myAwesomeFunction($tmp);
  1.311 s (22080097 allocations: 893.87 MiB)

(我最喜欢的另一个性能相关的东西是
@code.*
函数系列,比如。)

我认为
基准工具.jl
衡量的是总内存使用量,而不是峰值。我还没有找到纯Julia代码来衡量这一点,但可能是相关的。

只需计算数组将占用的字节数即可。这是一个很好的估计。如果您想知道计算过程中使用的额外内存,那么
BenchmarkTools.jl
应该有帮助: