An open API service indexing awesome lists of open source software.

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.

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.