16 个版本
0.1.14 | 2024年2月17日 |
---|---|
0.1.13 | 2024年2月10日 |
0.1.11 | 2024年1月21日 |
0.1.8 | 2023年12月19日 |
0.0.0 | 2023年6月30日 |
#26 在 #criterion 中
23,055 每月下载量
在 67 个crate中(通过 divan)使用
42KB
688 行
赞助商
如果您或您的公司认为 Divan 很有价值,请考虑在 GitHub 上赞助 或通过 PayPal 捐款。赞助有助于我推进 Rust 性能分析的可能性。
指南
正在编写指南。在此期间,请参阅
入门
-
将以下内容添加到项目的
Cargo.toml
[dev-dependencies] divan = "0.1.14" [[bench]] name = "example" harness = false
-
在
benches/example.rs
[^1] 创建一个基准测试文件,其中包含您的基准测试代码fn main() { // Run registered benchmarks. divan::main(); } // Register a `fibonacci` function and benchmark it over multiple cases. #[divan::bench(args = [1, 2, 4, 8, 16, 32])] fn fibonacci(n: u64) -> u64 { if n <= 1 { 1 } else { fibonacci(n - 2) + fibonacci(n - 1) } }
-
使用
cargo bench
运行基准测试example fastest │ slowest │ median │ mean │ samples │ iters ╰─ fibonacci │ │ │ │ │ ├─ 1 0.626 ns │ 1.735 ns │ 0.657 ns │ 0.672 ns │ 100 │ 819200 ├─ 2 2.767 ns │ 3.154 ns │ 2.788 ns │ 2.851 ns │ 100 │ 204800 ├─ 4 6.816 ns │ 7.671 ns │ 7.061 ns │ 7.167 ns │ 100 │ 102400 ├─ 8 57.31 ns │ 62.51 ns │ 57.96 ns │ 58.55 ns │ 100 │ 12800 ├─ 16 2.874 µs │ 3.812 µs │ 2.916 µs │ 3.006 µs │ 100 │ 200 ╰─ 32 6.267 ms │ 6.954 ms │ 6.283 ms │ 6.344 ms │ 100 │ 100
有关基准函数注册的信息,请参阅 #[divan::bench]
示例
实用示例基准测试可以在 examples/benches
目录中找到。可以通过运行
git clone https://github.com/nvzqz/divan.git
cd divan
cargo bench -q -p examples --all-features
更详细的用法示例可以在 #[divan::bench]
文档中找到。
许可
类似于Rust项目,此库可以在以下两种许可协议下使用:[MIT许可](https://github.com/nvzqz/divan/blob/main/LICENSE-MIT) 或 [Apache许可(版本2.0)](https://github.com/nvzqz/divan/blob/main/LICENSE-APACHE)。
[^1]:在您的crate目录中,即 $CARGO_MANIFEST_DIR
依赖项
~305–760KB
~18K SLoC