Overview of Celero C++ Benchmarking Library
masterCelero is a C++14 benchmarking library designed to provide consistent, reproducible, and easy-to-share performance measurements. It is intended to be integrated directly into C++ projects, making automated benchmarking a standard part of the development process similar to automated testing (e.g., GoogleTest).
Key Capabilities:
- Cross-Platform: Supports Windows, Linux, and OSX.
- Low Overhead: Timing utilities can be used directly in production code.
- Resource Tracking: Automatically tracks RAM usage during experiments.
- Flexible Output: Formats console output as Markdown, supports CSV for graphing, and provides JUnit-formatted XML for CI/CD integration.
- Advanced Benchmarking: Supports test fixtures, fixed-time baselines, user-defined measurements, and user-defined experiment values to scale results and sample sizes.
- Historical Tracking: Can archive results to track performance trends (current, best, and worst) over time.