Hey there!
From what I understand reading the docs and implementation of this package, I see that it emphasizes "before vs after" style benchmarking, where the general process is:
- write an initial implementation of some code
- benchmark it, and set it as a baseline
- change the code, applying some optimizations
- benchmark it again, and compare that to the baseline
This is the process that gives you the nice percentage deltas, via swift package benchmark baseline compare. This is great on iterating on larger app components, but I'm often interested in comparing two small samples side-by-side, like this: https://github.com/amomchilov/SwiftMicroBenchmarks/blob/d96eb3b076e696dc44bb02ef97c071322dbafa10/Benchmarks/IsOptional/IsOptional.swift#L34
As a point of comparison, consider the popular Ruby gem benchmark-ips. Calling x.compare! generates a comparison table for all the current named benchmarks.
Is there any goal to support comparison of multiple "current" benchmarks like that?
Hey there!
From what I understand reading the docs and implementation of this package, I see that it emphasizes "before vs after" style benchmarking, where the general process is:
This is the process that gives you the nice percentage deltas, via
swift package benchmark baseline compare. This is great on iterating on larger app components, but I'm often interested in comparing two small samples side-by-side, like this: https://github.com/amomchilov/SwiftMicroBenchmarks/blob/d96eb3b076e696dc44bb02ef97c071322dbafa10/Benchmarks/IsOptional/IsOptional.swift#L34As a point of comparison, consider the popular Ruby gem
benchmark-ips. Callingx.compare!generates a comparison table for all the current named benchmarks.Is there any goal to support comparison of multiple "current" benchmarks like that?