在Python中,评估代码性能的便捷方法是timeit
。在Julia中我们有@time
,但这样做的缺点是只运行一段代码,这意味着你需要多次执行它才能获得良好的代码性能。有没有更好的方法在Julia中编写时间代码,更类似于Python的timeit
?
答案 0 :(得分:13)
包BenchmarkTools
包含@benchmark
和@btime
,其中包含确定运行次数的统计方法。
julia> A = rand(100,100);
julia> B = rand(100,100);
julia> using BenchmarkTools
julia> @benchmark A*B
BenchmarkTools.Trial:
memory estimate: 78.20 KiB
allocs estimate: 2
--------------
minimum time: 48.302 μs (0.00% GC)
median time: 72.015 μs (0.00% GC)
mean time: 74.314 μs (6.52% GC)
maximum time: 3.232 ms (95.17% GC)
--------------
samples: 10000
evals/sample: 1
julia> @btime A*B;
49.180 μs (2 allocations: 78.20 KiB)