https://github.com/domohuhn/cbench
Compilation benchmark using the ninja build system
https://github.com/domohuhn/cbench
c compiler-benchmarks cpp ninja python3
Last synced: 2 months ago
JSON representation
Compilation benchmark using the ninja build system
- Host: GitHub
- URL: https://github.com/domohuhn/cbench
- Owner: domohuhn
- License: mit
- Created: 2023-01-22T18:40:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-22T19:06:50.000Z (over 3 years ago)
- Last Synced: 2025-12-28T18:23:42.472Z (6 months ago)
- Topics: c, compiler-benchmarks, cpp, ninja, python3
- Language: Python
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Compilation benchmark for ninja
This repository contains a benchmark for compilation times when using the build tool ninja.
Compiled languages like C and C++ often have problems with their build times. When a project reaches a certain size,
compilation times tend to slow down. At some point, developers will want to optimize the compilation times
to improve the compile-test workflow. The program "cbench" in this repository can help you to identify the files
that are slow to compile, and it also provides a tool to check if your changes have had an impact on the
build times without relying on rough estimations. The program will report not only the changes in the compile times,
but also the significance of the changes using gaussian distributions.
## Requirements
You will need the following programs to use this benchmark:
- python 3
- the ninja build system
## Getting started
If you don't want to read any docs, then just grab cbench.py and run it via:
cbench.py -h
Checkout the [example directory](examples/README.md) for a usage example.
There is a full example project with code to benchmark, instructions on how to use the program and expected outputs.
## License
The whole code in this repository is licensed under the MIT license. See LICENSE for the full text.