Skip to content

1.0.0

Compare
Choose a tag to compare
@hassila hassila released this 21 Mar 13:31
· 144 commits to main since this release
5248a57

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:

  1. Dependencies
    Replace:
.product(name: "BenchmarkSupport", package: "package-benchmark"),

with

.product(name: "Benchmark", package: "package-benchmark"),
.product(name: "BenchmarkPlugin", package: "package-benchmark"),
  1. Change boilerplate from:
import BenchmarkSupport
@main extension BenchmarkRunner {}

@_dynamicReplacement(for: registerBenchmarks)
func benchmarks() {
...
}

to

import Benchmark

let benchmarks = {
...
}
  1. 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