All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add output of Callgrind at
RUST_LOG=info
level but also more debug and trace output.
- The version mismatch check should cause an error when the library version is < 0.3.0
This version is incompatible to previous versions due to changes in the main!
macro which is
passing additional arguments to the runner. However, benchmarks written with a version before
v0.3.0
don't need any changes but can take advantage of some new features.
- The
toggle-collect
callgrind argument now accumulates multiple occurrences instead of replacing them. The defaulttoggle-collect
for the benchmark function cannot be replaced anymore. - A version mismatch of the
iai-callgrind
library and theiai-callgrind-runner
is now an error. - Fix, update and extend the README. Add more real-world examples.
- The
main!
macro has two forms now, with the first having the ability to pass arguments to callgrind. - More examples in the benches folder
- Use the
RUST_LOG
environment variable to control the verbosity level of the runner. - Add colored output. The
CARGO_TERM_COLOR
variable can be used to disable colors.
- A cargo filter argument which is a positional argument resulted in the the runner to crash.
This version is mostly compatible with v0.1.0
but needs some additional setup. See
Installation in the README. Benchmarks created with v0.1.0
should not
need any changes but can maybe improved with the additional features from this version.
- The repository layout changed and this package is now separated in a library (iai-callgrind) with the main macro and the black_box and the binary package (iai-callgrind-runner) with the runner needed to run the benchmarks
- It's now possible to pass additional arguments to callgrind
- The output of the collected event counters and metrics has changed
- Other improvements to stabilize the metrics across different systems
- Initial migration from Iai