参考资料
|
该页面正在翻译中。 |
# *`BenchmarkTools.clear_empty!`*-Method
clear_empty!(group::BenchmarkGroup)
递归地从 团体.
用这个来修剪一个 基准组,基准组 访问不正确的字段后,例如 g=BenchmarkGroup();g[1],而不存储任何东西到 g[1],这将创建一个空的子组 g[1].
# *`BenchmarkTools.法官`*-Method
judge(target::BenchmarkGroup, baseline::BenchmarkGroup; [time_tolerance::Float64=0.05])
# *`BenchmarkTools.法官`*-Method
judge(target::TrialEstimate, baseline::TrialEstimate; [time_tolerance::Float64=0.05])
关于是否第一次估计的报告 目标 表示相对于第二估计的回归或改进 基线.
# *`BenchmarkTools.法官`*-Method
judge(r::TrialRatio, [time_tolerance::Float64=0.05])
# *`BenchmarkTools.比率`*-Method
ratio(target::TrialEstimate, baseline::TrialEstimate)
返回目标估计值与基线估计值的比率,例如 时间(目标)/时间(基线).
# *`BenchmarkTools.调子!`*-函数
tune!(b::Benchmark, p::Parameters = b.params; verbose::Bool = false, pad = "", kwargs...)
调a 基准 实例。
如果参数中的evals数 p 已手动设置,此功能什么也不做。
# *`BenchmarkTools.调子!`*-Method
tune!(group::BenchmarkGroup; verbose::Bool = false, pad = "", kwargs...)
调a Benchmark集团 实例。 对于大多数基准, 调子! 需要执行许多评估以确定任何给定基准的适当参数-通常比运行试验时执行的评估更多。 事实上,基准测试的大部分时间通常用于调整参数,而不是实际运行试验。
# *`BenchmarkTools.@ballocated`*-马科罗_
@ballocated expression [other parameters...]
类似于 @分配 Julia附带的宏,它返回执行给定表达式时分配的字节数。 它使用 @基准 宏,但是,并接受所有相同的附加参数 @基准. 返回的分配对应于在基准期间测量的_minimum_经过时间的试验。
# *`BenchmarkTools.@气球`*-马科罗_
@ballocations expression [other parameters...]
类似于 @分配 包含在Julia中的宏,该宏计算表达式,丢弃结果值,并返回在执行过程中所做的分配总数。
不像 @分配,它使用 @基准 宏从 长凳,长凳 包,并接受所有相同的附加参数作为 @基准. 返回的分配数对应于在基准期间测量的_minimum_经过时间的试验。
# *`BenchmarkTools.@belapsed`*-马科罗_
@belapsed expression [other parameters...]
类似于 @经过 Julia附带的宏,它返回执行给定表达式的经过时间(以秒为单位)。 它使用 @基准 宏,但是,并接受所有相同的附加参数 @基准. 返回的时间是基准期间测量的_minimum_经过时间。
# *`BenchmarkTools.@基准`*-马科罗_
@benchmark <expr to benchmark> [setup=<setup expr>]
在给定表达式上运行基准。
*例子*
这个宏最简单的用法是把它放在你想要基准的前面。
julia> @benchmark sin(1)
BenchmarkTools.Trial:
memory estimate: 0 bytes
allocs estimate: 0
--------------
minimum time: 13.610 ns (0.00% GC)
median time: 13.622 ns (0.00% GC)
mean time: 13.638 ns (0.00% GC)
maximum time: 21.084 ns (0.00% GC)
--------------
samples: 10000
evals/sample: 998
您可以将值插值到 @基准 表达方式:
# rand(1000) is executed for each evaluation
julia> @benchmark sum(rand(1000))
BenchmarkTools.Trial:
memory estimate: 7.94 KiB
allocs estimate: 1
--------------
minimum time: 1.566 μs (0.00% GC)
median time: 2.135 μs (0.00% GC)
mean time: 3.071 μs (25.06% GC)
maximum time: 296.818 μs (95.91% GC)
--------------
samples: 10000
evals/sample: 10
# rand(1000) is evaluated at definition time, and the resulting
# value is interpolated into the benchmark expression
julia> @benchmark sum($(rand(1000)))
BenchmarkTools.Trial:
memory estimate: 0 bytes
allocs estimate: 0
--------------
minimum time: 101.627 ns (0.00% GC)
median time: 101.909 ns (0.00% GC)
mean time: 103.834 ns (0.00% GC)
maximum time: 276.033 ns (0.00% GC)
--------------
samples: 10000
evals/sample: 935
# *`BenchmarkTools.@benchmarkset`*-马科罗_
@benchmarkset "title" begin ... end
创建一个基准集,或多个基准集,如果 为 循环提供。
!!! 危险 @benchmarkset 被弃用。 相反,添加到 组=BenchmarkGroup() 使用 group[key]=@benchmark。..
*例子*
@benchmarkset "suite" for k in 1:5
@case "case $k" rand($k, $k)
end
# *`BenchmarkTools.@bprofile`*-马科罗_
@bprofile expression [other parameters...]
跑 @基准 在分析时。 这类似于
@profile @benchmark expression [other parameters...]
但分析仅应用于主执行(在编译和调优之后)。 配置文件缓冲区在执行之前被清除。
查看配置文件结果 个人资料。打印(。..). 有关更多信息,请参阅Julia手册的分析部分。
# *`BenchmarkTools.@btime`*-马科罗_
@btime expression [other parameters...]
类似于 @时间 Julia附带的宏,它执行一个表达式,在返回表达式的值之前打印执行所花费的时间和分配的内存。
不像 @时间,它使用 @基准 宏,并接受所有相同的附加参数 @基准. 打印时间是基准期间测量的_minimum_经过时间。
# *`BenchmarkTools.@btimed`*-马科罗_
@btimed expression [other parameters...]
类似于 @定时 包含在Julia中的宏,该宏执行一个表达式并返回一个 命名的,命名的 包含表达式的值、以秒为单位的最小经过时间、分配的总字节数、分配次数以及基准测试期间以秒为单位的垃圾回收时间。
不像 @定时,它使用 @基准 宏从 长凳,长凳 包装更详细和一致的性能测量. 报告的经过时间是在基准期间测量的最小时间。 它接受所有支持的附加参数 @基准.
# *`BenchmarkTools.@个案`*-马科罗_
@case title <expr to benchmark> [setup=<setup expr>]
将表达式标记为基准案例。 必须在里面使用 @benchmarkset.
!!! 危险 @benchmarkset 被弃用。 相反,添加到 组=BenchmarkGroup() 使用 group[key]=@benchmark。..
# *`BenchmarkTools.储蓄`*-函数
BenchmarkTools.save(filename, args...)
将序列化基准测试对象(例如结果或参数)保存到JSON文件中。