接口
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, "")]
。
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 的方法。
返回值:
- TestSuite - 测试套对象。