https://github.com/iaseth/bolt
A C benchmarking library.
https://github.com/iaseth/bolt
Last synced: 7 months ago
JSON representation
A C benchmarking library.
- Host: GitHub
- URL: https://github.com/iaseth/bolt
- Owner: iaseth
- License: mit
- Created: 2020-10-15T20:58:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T17:28:37.000Z (almost 5 years ago)
- Last Synced: 2025-03-12T21:03:41.551Z (7 months ago)
- Language: C
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE
Awesome Lists containing this project
README
## Bolt
A benchmarking library for C programs.### Features
* Ability to export to `CSV/JSON/HTML/XML`
* Ability to generate graphs in `PNG`### Concepts
* Bolt has three main components: `Actions`, `Experiments` and `Milestones`.### Actions and Experiments
* Each `Action` and `Experiment` has an attached function 'func' which they call `n` times and report the results.
* An `Action` records only the total time `T` taken for `n` calls to `func`.
* An `Experiment` records the time `t` for each call to `func`.
* Use `Action` when `n` is in millions and `t` is in nanoseconds.
* Use `Experiment` when `n` is in thousands or less and `t` is in `milliseconds`.
* Each `Action` and `Experiment` can have a `setup_func` and `cleanup_func` which are called before and after the benchmark.### Milestones
* `Milestones` are recorded instants when a certaint point is reached.