benchmark_runner
A library for writing inline micro-benchmarks, running sync/async benchmarks, reporting and exporting score statistics.
What this package is like to depend on
Last release 10 months ago
14 Oct 2025
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
18 releases · first in 2023
1 release in the last 12 months
see the full history below
Release timeline
18 releases · Sep 2023 to Oct 2025
2024
2025
2026
Releases
latest 18-
2.0.214 Oct 2025 -
2.0.123 Apr 2025Release notes
Open source →- Simplified methods
measureandmeasureAsync. - Added
README.mdto foldergnuplot.
- Simplified methods
-
2.0.022 Apr 2025Release notes
Open source →Breaking changes:
- The functions
benchmarkandasyncBenchmarkare not longer generic and now have the optional parameters:warmUpDuration,sampleSize,customEmitter. - The classes
BenchmarkandAsyncBenchmarkwere renamedScoreGeneratorandAsyncScoreGenerator,respectively, They no longer inherit fromBenchmarkBaseandAsyncBenchmarkBaseand are now solely responsible for generating benchmark scores. As such, the constructor parametersdescriptionandemitterhave been removed. - Generating the benchmark reports
is delegated to
ScoreEmitter. - The function
sampleSizenow returns an object of typeSampleSizeinstead of a record. - The default score emitter is now
StatsEmitter. To emit a report that is similar to that printed bybenchmark_harnessuseMeanEmitter.
- The functions
-
1.0.017 Sep 2024Release notes
Open source →Breaking changes:
- The command
benchmark_runnernow has subcommandsreportandexport. - The functions
benchmarkandasyncBenchmarkare now generic and accept the optional parameters:E extents ColorPrintEmitter emitter,report(instance, emitter){}, whereinstanceis an instance ofBenchmarkorAsyncBenchmark, respectively. The callback can be can be used to pass benchmark scores to the emitter.
- The command
-
0.1.903 Jul 2024Release notes
Open source →- Changed default encoding of standard output of benchmark processes
to
Utf8Codec(). This enables the correct output of histograms in windows terminals with utf8 support.
- Changed default encoding of standard output of benchmark processes
to
-
0.1.830 May 2024 -
0.1.703 May 2024Release notes
Open source →- Fixed bug in function
blockHistogramthat surfaced when the inter-quartile-rangeiqrof the score sample is zero. - Made benchmark report more compact.
- Fixed bug in function
-
0.1.617 Apr 2024 -
0.1.517 Apr 2024Release notes
Open source →- Made [BenchmarkHelper.sampleSize][sampleSize] a variable assignable with a user defined function. This allows changing the score sample generation customizing the relation between the single score estimate and the score sample size.
-
0.1.413 Apr 2024Release notes
Open source →- Fixed bugs in runner (results were listed twice, exit code was always 0).
-
0.1.312 Apr 2024Release notes
Open source →- Added progress indicator to output generated by
benchmark_runner. - Results are now printed as soon as the individual process returns.
- Added progress indicator to output generated by
-
0.1.211 Apr 2024Release notes
Open source →- Amended all links referencing the API documentation. (/doc/api -> /latest).
-
0.1.111 Apr 2024Release notes
Open source →- Added extension
BenchmarkHelper. - Improved calculation of sample size.
- Extended docs, added image.
- Added class
Score.
- Added extension
-
0.1.005 Apr 2024Release notes
Open source →- Added tests for class
Stats. ColorEmitternow scales benchmark score stats (that are larger than 1000 us).- Added class
Score.
- Added tests for class
-
0.0.404 Apr 2024 -
0.0.303 Apr 2024 -
0.0.218 Sep 2023 -
0.0.118 Sep 2023