A benchmark library with statistical analysis and plotting capabilities in C++.
- Report results in various types of output files.
- To console.
- To JSON files.
- To MessagePack files with or without gzip compression.
- To HTML files of plots 📈.
- Processing time for each execution.
- Cumulative distribution function of processing time.
- Violin plots.
- Box plots.
- Plots of processing time with respect to parameters.
- Plots of custom outputs with respect to parameters.
- Plots of custom outputs with respect to processing time.
- Measure processing time in two patterns.
- Processing time of each execution.
- Mean processing time of consecutive executions.
- Report custom data with or without statistics.
- Use custom parameters in various types.
- Perform benchmark in multiple threads.
- Use fixtures.
This library should compile with most C++ 17 compliant compilers.
Following compilers are tested in CI:
- GCC 13
- Clang 19
- Clang 20
- Visual Studio 2022
See Install This Library.
Documentation built in CI:
Version | Documentation | Full API Reference (Doxygen) |
---|---|---|
main branch | Documentation | API Reference |
v0.25.2 | Documentation | API Reference |
- Main in GitLab: https://gitlab.com/MusicScience37Projects/utility-libraries/cpp-stat-bench
- Mirror in GitHub: https://github.com/MusicScience37/cpp-stat-bench
This project is licensed under Apache License, Version 2.0.