A benchmark library.
$ cargo test --release --color=always -q --package bench-rs --test bench --no-fail-fast -- --test-threads=1 --nocapture
Look ./tests/bench.rs
I don't know how to implement the black box.
Please use core::hint::black_box. (unstable)
If you have a better idea, welcome to submit a pull request or open an issue
In order to detect Memory usage, bench-rs
modified global_allocator.
This will make it impossible to use other allocators.
If you need to use other allocator:
Change your allocator: (if your allocator is std::alloc::System
)
```
use std::alloc::System;
use benchrs::{TrackAllocator, newallocator};
pub static GLOBAL: TrackAllocator
Turn off default features:
[dependencies]
bench-rs = { version = "*", default-features = false }
Import the allocator named GLOBAL
:
```
use bench_rs::bench;
use yourlib::GLOBAL;
fn ...
``
If your allocator name is not
GLOBAL, please set its alias to
GLOBAL`:
use yourlib::OtherAllocator as GLOBAL
Because the bencher-macro will look for GLOBAL.counter()
and GLOBAL.peak()
at the same level of the bench function.
I am a rust beginner, please correct me if the code is bad. Thank you
Contributions welcome