Chairmarks version 1.3.0 supports benchmarking two (or more) functions at the same time. Simply provide the functions separated by commas:
julia> @b rand(3) objectid
4.257 ns
julia> @b rand(3) hash
7.360 ns
julia> @b rand(3) objectid,hash
(4.182 ns, 7.342 ns)
This usage and syntax is currently experimental, so please try it out and let me know here or in this thread if you encounter any issues or have feedback to share before I finalize this feature
When benchmarking two functions simultaneously, they each recieve the same number of evaluations and samples are interleaved randomly to eliminate some sources of noise and bias you would see if you ran the benchmarks serially. Itβs intended to be convenient syntax and sound semantics for a common benchmarking usecase.