Skip to content

Releases: ordo-one/package-benchmark

0.4.3

28 Oct 08:10
13d1a5f
Compare
Choose a tag to compare

What's Changed

  • chore: Update documentation by @hassila in #38
  • chore: Move to dispatch conditions / NIOLock instead of raw pthread mutex/conditions by @hassila in #39

Full Changelog: 0.4.2...0.4.3

0.4.2

11 Oct 08:49
8950d2f
Compare
Choose a tag to compare

Significant reduction in benchmarking overhead for simpler benchmarks that only care about .wallClock and .throughput making very small microbenchmarks work better.

Overall measurements show that malloc metrics are the most expensive (factor 3-4 or gathering operating system stats).

What's Changed

  • chore: Remove unnecessary Darwin/Glibc includes and clean up some numerics usage by @hassila in #33
  • chore: Add basic benchmark for empty benchmark to allow measurement of overhead by @hassila in #35
  • fix: Only query and check malloc and operating system stats when needed by @hassila in #36
  • fix: Remove unnecssary jemalloc queries by @hassila in #37

Full Changelog: 0.4.1...0.4.2

0.4.1

07 Oct 12:01
742b566
Compare
Choose a tag to compare

Major change is a fix for correctly applying thresholds. Also helper functions for defining them, e.g.

    let customThreshold = BenchmarkResult.PercentileThresholds(absolute: [.p25 : .millseconds(3), .p50 : .milliseconds(23)])
    let customThreshold2 = BenchmarkResult.PercentileThresholds(absolute: [.p25 : .mega(2), .p50 : .mega(3)])

What's Changed

  • chore: Minor polish of output by @hassila in #29
  • fix: Fix comparisons of absolute thresholds, add helpers for defining them by @hassila in #32

Full Changelog: 0.4.0...0.4.1

0.4.0

06 Oct 09:58
1749317
Compare
Choose a tag to compare

Source break where warmup as a bool now becomes warmupIterations as an Int.

More importantly, we now get the ability to set default settings for a whole benchmark suite easily, see below...

What's Changed

  • chore: Remove unused Lock, remove metrics from benchmark list output by @hassila in #22
  • feat: Improve threshold output by @hassila in #23
  • feat: Support default thresholds for benchmark suite and rename defaultBenchmarkTimeUnits to defaultTimeUnits by @hassila in #25
  • feat: Adding ability to set defaults for all benchmark settings for a suite and move warmup->warmupIterations by @hassila in #28

Full Changelog: 0.3.4...0.4.0

0.3.4

05 Oct 12:55
44ddfce
Compare
Choose a tag to compare

What's Changed

  • chore: Add unit tests for Statistics and CI Codecov workflow/badge by @hassila in #13
  • chore: Add tests for benchmark results by @hassila in #14
  • chore: Add tests for operating system provider, malloc stats provider and benchmarks. by @hassila in #16
  • chore: Add tests for BenchmarkRunner by @hassila in #17
  • feat: Add support for default time units for benchmark suite (and fix handling of duplicate benchmark registrations) by @hassila in #20

Full Changelog: 0.3.3...0.3.4

0.3.3

03 Oct 09:42
1ec44fd
Compare
Choose a tag to compare

What's Changed

  • fix: Better support automatic scaling for initial zero samples by @hassila in #7
  • feat: Add convenience range computed property for nicer inner loop iterators by @hassila in #8
  • fix: Calculate all percentiles for throughput by @hassila in #11
  • fix: Make benchmark plugin discover tests in Benchmarks directory regardless of target name by @hassila in #12

New Contributors

Full Changelog: 0.3.2...0.3.3

Initial release

27 Sep 12:57
Compare
Choose a tag to compare
0.3.2

Initial commit