Skip to content

Releases: ordo-one/package-benchmark

0.5.2

12 Dec 14:07
d5ebff9
Compare
Choose a tag to compare

Just a bump release to test SwiftPackageIndex

0.5.1

12 Dec 11:57
4081693
Compare
Choose a tag to compare

What's Changed

  • ci: 🔄 Synced file(s) with ordo-one/public-repository-templates by @ordo-ci in #42
  • ci: sync workflow files by @freef4ll in #43
  • feat: SwiftPackageIndex support by @hassila in #45

New Contributors

Full Changelog: 0.5.0...0.5.1

0.5.0

29 Nov 14:55
a47f7e3
Compare
Choose a tag to compare

What's Changed

  • chore: Move to use DateTime package by @hassila in #41

This version moves up the dependency to Swift 5.7 and macOS v13 as we start using real Swift Duration and Clock/Instant types.

Full Changelog: 0.4.3...0.5.0

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