AnyMath 文档

参考资料

该页面正在翻译中。

clear_empty!(group::BenchmarkGroup)

递归地从 团体.

用这个来修剪一个 基准组,基准组 访问不正确的字段后,例如 g=BenchmarkGroup();g[1],而不存储任何东西到 g[1],这将创建一个空的子组 g[1].

judge(target::BenchmarkGroup, baseline::BenchmarkGroup; [time_tolerance::Float64=0.05])
judge(target::TrialEstimate, baseline::TrialEstimate; [time_tolerance::Float64=0.05])

关于是否第一次估计的报告 目标 表示相对于第二估计的回归或改进 基线.

judge(r::TrialRatio, [time_tolerance::Float64=0.05])
ratio(target::TrialEstimate, baseline::TrialEstimate)

返回目标估计值与基线估计值的比率,例如 时间(目标)/时间(基线).

tune!(b::Benchmark, p::Parameters = b.params; verbose::Bool = false, pad = "", kwargs...)

调a 基准 实例。

如果参数中的evals数 p 已手动设置,此功能什么也不做。

tune!(group::BenchmarkGroup; verbose::Bool = false, pad = "", kwargs...)

调a Benchmark集团 实例。 对于大多数基准, 调子! 需要执行许多评估以确定任何给定基准的适当参数-通常比运行试验时执行的评估更多。 事实上,基准测试的大部分时间通常用于调整参数,而不是实际运行试验。

@ballocated expression [other parameters...]

类似于 @分配 Julia附带的宏,它返回执行给定表达式时分配的字节数。 它使用 @基准 宏,但是,并接受所有相同的附加参数 @基准. 返回的分配对应于在基准期间测量的_minimum_经过时间的试验。

@ballocations expression [other parameters...]

类似于 @分配 包含在Julia中的宏,该宏计算表达式,丢弃结果值,并返回在执行过程中所做的分配总数。

不像 @分配,它使用 @基准 宏从 长凳,长凳 包,并接受所有相同的附加参数作为 @基准. 返回的分配数对应于在基准期间测量的_minimum_经过时间的试验。

@belapsed expression [other parameters...]

类似于 @经过 Julia附带的宏,它返回执行给定表达式的经过时间(以秒为单位)。 它使用 @基准 宏,但是,并接受所有相同的附加参数 @基准. 返回的时间是基准期间测量的_minimum_经过时间。

@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
@benchmarkable <expr to benchmark> [setup=<setup expr>]

创建一个 基准 给定表达式的实例。 @benchmarkable 有类似的语法与 @基准. 请参阅 @基准.

@benchmarkset "title" begin ... end

创建一个基准集,或多个基准集,如果 循环提供。

!!! 危险 @benchmarkset 被弃用。 相反,添加到 组=BenchmarkGroup() 使用 group[key]=@benchmark。..

*例子*

@benchmarkset "suite" for k in 1:5
    @case "case $k" rand($k, $k)
end
@bprofile expression [other parameters...]

@基准 在分析时。 这类似于

@profile @benchmark expression [other parameters...]

但分析仅应用于主执行(在编译和调优之后)。 配置文件缓冲区在执行之前被清除。

查看配置文件结果 个人资料。打印(。..). 有关更多信息,请参阅Julia手册的分析部分。

@btime expression [other parameters...]

类似于 @时间 Julia附带的宏,它执行一个表达式,在返回表达式的值之前打印执行所花费的时间和分配的内存。

不像 @时间,它使用 @基准 宏,并接受所有相同的附加参数 @基准. 打印时间是基准期间测量的_minimum_经过时间。

@btimed expression [other parameters...]

类似于 @定时 包含在Julia中的宏,该宏执行一个表达式并返回一个 命名的,命名的 包含表达式的值、以秒为单位的最小经过时间、分配的总字节数、分配次数以及基准测试期间以秒为单位的垃圾回收时间。

不像 @定时,它使用 @基准 宏从 长凳,长凳 包装更详细和一致的性能测量. 报告的经过时间是在基准期间测量的最小时间。 它接受所有支持的附加参数 @基准.

@case title <expr to benchmark> [setup=<setup expr>]

将表达式标记为基准案例。 必须在里面使用 @benchmarkset.

!!! 危险 @benchmarkset 被弃用。 相反,添加到 组=BenchmarkGroup() 使用 group[key]=@benchmark。..

run(b::Benchmark[, p::Parameters = b.params]; kwargs...)

运行由 @benchmarkable.

BenchmarkTools.save(filename, args...)

将序列化基准测试对象(例如结果或参数)保存到JSON文件中。

BenchmarkTools.load(filename)

从JSON文件加载序列化基准测试对象(例如结果或参数)。