I'm happy to share a new version (0.6.0) of the
package-benchmark SwiftPM command plugin - this release has one major feature and addresses one of the most common sources of confusion of the results - it's now based on the newly released
package-histogram greatly improving the experience when you have a wide range of values that are being captured.
The previous version of
package-benchmark would have a range of linear buckets (and take the first sample to choose magnitude) and fall back on power-of-two samples if outside the available bucket range (to keep memory usage constant).
The new version has full high-fidelity capture of all samples thanks to the new Histogram.
A couple of examples of before/after (see
Memory (allocated) and
Memory (resident peak)):
Time (wall clock) before:
You can find the new version at: