bench-show: Show, plot and compare benchmark results
Generate text reports and graphical charts from benchmark results
generated by gauge
or criterion
, showing or comparing benchmarks in
many useful ways. In a few lines of code, we can report time taken, peak
memory usage, allocations, among many other fields; we can arrange benchmarks
in groups and compare the groups; we can compare benchmark results before and
after a change; we can show the difference from baseline in absolute terms or
as a percentage; we can sort the results by percentage change to get the
worst affected benchmarks.
bench-show
helps us in answering questions like the following, visually or
textually:
Across two benchmark runs, show all the operations that resulted in a regression of more than 10%, so that we can quickly identify and fix performance problems in our application.
Across two (or more) packages (providing similar functionality), show all the operations where the performance differs by more than 10%, so that we can critically analyze the packages and choose the right one.
Quick Start: Use gauge
or criterion
to generate a results.csv
file, and
then use the following code to generate a textual report or a graph:
report "results.csv" Nothing defaultConfig graph "results.csv" "output" defaultConfig
For example, you can show can show % regression from a baseline in descending order texttually as follows:
(time)(Median)(Diff using min estimator) Benchmark streamly(0)(μs)(base) streamly(1)(%)(-base) --------- --------------------- --------------------- zip 644.33 +23.28 map 653.36 +7.65 fold 639.96 -15.63
To show the same graphically:
See the README and the BenchShow.Tutorial module for comprehensive documentation.
[Skip to Readme]
Downloads
- bench-show-0.2.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.2.0, 0.2.1, 0.2.2, 0.3.0, 0.3.1, 0.3.2 |
---|---|
Change log | Changelog.md |
Dependencies | ansi-wl-pprint (>=0.6 && <0.7), base (>=4.8 && <5), Chart (>=1.6 && <2), Chart-diagrams (>=1.6 && <2), csv (>=0.1 && <0.2), directory (>=1.2 && <1.4), filepath (>=1.3 && <1.5), mwc-random (>=0.13 && <0.15), split (>=0.2 && <0.3), statistics (>=0.15 && <0.16), transformers (>=0.4 && <0.6), vector (>=0.10 && <0.13) [details] |
Tested with | ghc ==8.4.4, ghc ==8.2.2, ghc ==7.10.3 |
License | BSD-3-Clause |
Copyright | 2017, 2018 Composewell Technologies |
Author | Harendra Kumar |
Maintainer | harendra.kumar@gmail.com |
Category | Performance, Benchmarking |
Home page | https://github.com/composewell/bench-show |
Bug tracker | https://github.com/composewell/bench-show/issues |
Source repo | head: git clone https://github.com/composewell/bench-show |
Uploaded | by harendra at 2018-10-30T14:31:04Z |
Distributions | LTSHaskell:0.3.2, Stackage:0.3.2 |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 3636 total (9 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user [build log] All reported builds failed as of 2018-11-02 [all 3 reports] |