是否有 Julia 相当于 Python 的 %timeit
Is there a Julia equivalent of Python's %timeit
在Python中,一个方便的评估代码性能的方法是timeit
。在 Julia 中,我们有 @time
,但这有一个缺点,即一段代码只能 运行 一次,这意味着您需要多次执行它才能很好地了解代码性能。在 Julia 中有没有更好的时间代码方式,更类似于 Python 的 timeit
?
包 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)
在Python中,一个方便的评估代码性能的方法是timeit
。在 Julia 中,我们有 @time
,但这有一个缺点,即一段代码只能 运行 一次,这意味着您需要多次执行它才能很好地了解代码性能。在 Julia 中有没有更好的时间代码方式,更类似于 Python 的 timeit
?
包 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)