接口

interface BenchInputProvider

public interface BenchInputProvider<T> <: BenchmarkInputMarker  {
    mut func get(idx: Int64): T
    mut func reset(max: Int64)
}

功能:用于处理性能测试的接口,其中需要在每次性能测试调用之前执行一些代码或者性能测试的输入发生了变化,并且每次都必须从头开始生成。 要使用此功能,您的 DataStrategy 实现应返回此接口的实现者。 推荐的方法是使用 @Strategy 宏。

父类型:

mut func get(Int64)

mut func get(idx: Int64): T

功能:获取元素,该函数的执行时间包含在基准测量中,然后作为框架开销计算的一部分从结果中排除。

参数:

  • idx : Int64 - 元素索引值。

返回值:

  • T - 元素值。

mut func reset(Int64)

mut func reset(max: Int64)

功能:在基准测量之前调用。调用此函数后,后续的 get(i) 调用必须成功获取 [0, max) 中的 i

参数:

  • max : Int64 - 最大值。

interface BenchmarkConfig

public interface BenchmarkConfig{}

功能:空接口,区分部分 Configuration 函数为性能相关配置。

interface BenchmarkInputMarker

public interface BenchmarkInputMarker

功能:当我们不知道 T 时,该接口能够检测 BenchInputProvider<T>

interface Generator<T>

public interface Generator<T> {
    func next(): T
}

功能:生成器生成 T 类型的值。

func next()

func next(): T

功能:获取生成出来的 T 类型的值。

返回值:

  • T - 生成的 T 类型的值。

interface Measurement

public interface Measurement {
    prop conversionTable: MeasurementUnitTable
    prop name: String
    func measure(): Float64
}

功能:该接口指定如何在性能测试期间测量数据以及如何在报告中显示数据。 实现接口的实例可以作为宏 @Measure 的属性传递。

prop conversionTable: MeasurementUnitTable

prop conversionTable: MeasurementUnitTable

功能:用于在性能测试报告中构建测量值的表示。 包含测量单位的边界对。 根据值的边界,使用最合适的单位。 对于 CSV 格式报告,始终选择下限以简化结果处理。 默认值为 [(1.0, "")]

类型:MeasurementUnitTable

prop name: String

prop name: String

功能:当前 Measurement 类型的唯一显示名称。 有助于区分报告表中的不同测量类型。 默认值为 Measurement

类型:String

func measure()

func measure(): Float64

功能:将用于统计分析的测量运行时间的方法。

返回值:

  • Float64 - 测量得到的数据。

interface Reporter

sealed interface Reporter <TReport, TReturn>

功能:报告器基础接口。

interface TestClass

public interface TestClass {
    func asTestSuite(): TestSuite
}

功能:提供创建 TestSuite 的方法。

func asTestSuite()

func asTestSuite(): TestSuite

功能:创建 TestSuite 的方法。

返回值: