6 个版本
0.2.4 | 2020 年 10 月 3 日 |
---|---|
0.2.3 | 2020 年 9 月 24 日 |
0.1.0 | 2020 年 9 月 21 日 |
271 在 性能分析 中
每月 24 次下载
16KB
303 行
bench-rs
一个基准测试库。
- 稳定 Rust (无 black_box)
- 美观的输出
- 异步支持
- 自定义异步运行时
- 内存使用
- 自定义格式化
- 直观的数值单位
- 支持自定义内存分配器
示例
$ cargo test --release --color=always -q --package bench-rs --test bench --no-fail-fast -- --test-threads=1 --nocapture
查看 ./tests/bench.rs
black_box
我不知道如何实现 black_box。
请使用 core::hint::black_box。 (不稳定)
如果您有更好的想法,欢迎提交 pull request 或打开 issue
global_allocator
为了检测内存使用,bench-rs
修改了 global_allocator。这将使得无法使用其他分配器。如果您需要使用其他分配器
更改您的分配器: (如果您使用的是 std::alloc::System
)
use std::alloc::System;
use bench_rs::{TrackAllocator, new_allocator};
#[global_allocator]
pub static GLOBAL: TrackAllocator<System> = new_allocator!(System);
关闭默认功能
[dependencies]
bench-rs = { version = "*", default-features = false }
导入名为 GLOBAL
的分配器
use bench_rs::bench;
use yourlib::GLOBAL;
#[bench]
fn ...
如果您的分配器名称不是 GLOBAL
,请将其别名设置为 GLOBAL
使用 yourlib::OtherAllocator作为 GLOBAL
因为 bencher-macro 将在 bench 函数同一级别查找 GLOBAL.counter()
和 GLOBAL.peak()
我是一个 Rust 初学者,如果代码有问题,请纠正我。谢谢
欢迎贡献
依赖项
~2–9.5MB
~95K SLoC