Memory management 如何在Julia中度量代码的一小部分的内存使用情况?

Memory management 如何在Julia中度量代码的一小部分的内存使用情况?,memory-management,julia,Memory Management,Julia,我想知道,如何通过代码的一小部分来衡量内存使用情况?假设我有50行代码,其中我只取了三行(随机)并找到它们正在使用的内存 在python中,可以使用以下语法来衡量使用情况: **代码** psutil.virtual_memory().total-psutil.virtual_memory().available)/1048/1048/1048 **代码** psutil.virtual_memory().total-psutil.virtual_memory().available)/1048

我想知道,如何通过代码的一小部分来衡量内存使用情况?假设我有50行代码,其中我只取了三行(随机)并找到它们正在使用的内存

在python中,可以使用以下语法来衡量使用情况:

**代码**
psutil.virtual_memory().total-psutil.virtual_memory().available)/1048/1048/1048
**代码**
psutil.virtual_memory().total-psutil.virtual_memory().available)/1048/1048/1048
**代码**
我尝试过使用
begin-end
循环,但首先,我不确定这是否是一个好方法,其次,我想知道如何使用
benchmarktools
包提取内存使用情况

朱莉娅:

using BenchmarkTools

**code**

@btime begin
   ** code **
end

**code**
我如何以这种方式提取信息

期待您的建议


谢谢

我想一种解决方法是将要基准测试的代码放入函数中,并对该函数进行基准测试:

using BenchmarkTools

# code before

f() = # code to benchmark
@btime f() ;

# code after
要保存基准测试,您可能需要使用
@benchmark
而不是
@btime
,例如:

julia> t = @benchmark x = [sin(3.0)]
BenchmarkTools.Trial:
  memory estimate:  96 bytes
  allocs estimate:  1
  --------------
  minimum time:     26.594 ns (0.00% GC)
  median time:      29.141 ns (0.00% GC)
  mean time:        33.709 ns (5.34% GC)
  maximum time:     1.709 μs (97.96% GC)
  --------------
  samples:          10000
  evals/sample:     992

julia> t.allocs
1

julia> t.memory
96

julia> t.times
10000-element Vector{Float64}:
   26.59375
   26.616935483870968
   26.617943548387096
   26.66532258064516
   26.691532258064516
    ⋮
 1032.6875
 1043.6219758064517
 1242.3336693548388
 1708.797379032258

谢谢你的建议。这是我只想在几行代码中尝试的东西,我想我可以尝试将它封装在函数中。但我在想,是否有什么东西可以直接实施。还有一件事,如何将
时间
存储为变量,以及提取内存使用量的方法是什么?编辑了我的答案,并提供了一个可能的解决方案