Crates.io | bench-rs |
lib.rs | bench-rs |
version | 0.2.4 |
source | src |
created_at | 2020-09-21 12:36:55.543348 |
updated_at | 2020-10-03 03:39:57.989484 |
description | A benchmark library |
homepage | https://github.com/juzi5201314/bench-rs |
repository | https://github.com/juzi5201314/bench-rs |
max_upload_size | |
id | 291142 |
size | 19,021 |
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 bench_rs::{TrackAllocator, new_allocator};
#[global_allocator]
pub static GLOBAL: TrackAllocator<System> = new_allocator!(System);
Turn off default features:
[dependencies]
bench-rs = { version = "*", default-features = false }
Import the allocator named GLOBAL
:
use bench_rs::bench;
use yourlib::GLOBAL;
#[bench]
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