9个版本
0.1.9 | 2024年6月9日 |
---|---|
0.1.7 | 2023年2月12日 |
0.1.6 | 2023年1月27日 |
0.1.4 | 2022年6月14日 |
0.1.1 | 2021年6月16日 |
#461 在 算法
235 每月下载量
用于 reloaded-memory-buffers
9KB
101 行
clf
通过 __builtin_clear_cache()
清除CPU缓存行
当您进行不依赖于CPU缓存的基准测试时,可以使用此crate。
支持
- gcc和clang
- gnu和musl
- x86_64, aarch64, mips64el, powerpc64le ...等等
- 最低支持的rustc 1.56.1 (59eed8a2a 2021-11-01)
错误
- armv7-unknown-linux-musleabihf: 编译失败
- x86_64-pc-windows-msvc: 编译失败
示例
易于使用
let a = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
clf::cache_line_flush_with_slice(&a);
或
let a = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
let begin_ptr = a.as_ptr();
let end_ptr = unsafe { begin_ptr.add(a.len()) };
clf::cache_line_flush_with_ptr(begin_ptr, end_ptr);
参考
变更日志
许可证
本项目可在以下任一许可证下使用:
- Apache License, Version 2.0, (LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
无运行时依赖
~185KB