1.0.0
What's Changed
Added support for absolute benchmark thresholds.
Significant cleanup of dependencies, API naming and reduced boilerplate needed for benchmarks.
See benchmark samples update commit for some examples;
This needs small adoptions of existing benchmarks:
- Dependencies
Replace:
.product(name: "BenchmarkSupport", package: "package-benchmark"),
with
.product(name: "Benchmark", package: "package-benchmark"),
.product(name: "BenchmarkPlugin", package: "package-benchmark"),
- Change boilerplate from:
import BenchmarkSupport
@main extension BenchmarkRunner {}
@_dynamicReplacement(for: registerBenchmarks)
func benchmarks() {
...
}
to
import Benchmark
let benchmarks = {
...
}
BenchmarkResult.PercentileThresholds
->BenchmarkThresholds
- feat: Eliminating use of @dynamicReplacement, auto generate boilerplate, update required dependencies by @hassila in #111
- feat: Adding support for absolute thresholds by @hassila in #116
- chore: Move to booleans instead of ints, fixes #114 by @hassila in #118
- fix: Remove target name from benchmarkrunner as some characters causes issues by @hassila in #119
Full Changelog: 0.9.0...1.0.0