#cache #size #line #architecture #expose #align #three

cache_line_size

一个库,用于在当前架构上公开缓存行的大小

3 个版本 (1 个稳定版本)

1.0.0 2018 年 10 月 14 日
0.2.0 2018 年 10 月 13 日
0.1.0 2018 年 10 月 13 日

#283缓存

Download history • Rust 包仓库 146/week @ 2024-03-13 • Rust 包仓库 144/week @ 2024-03-20 • Rust 包仓库 178/week @ 2024-03-27 • Rust 包仓库 176/week @ 2024-04-03 • Rust 包仓库 98/week @ 2024-04-10 • Rust 包仓库 142/week @ 2024-04-17 • Rust 包仓库 163/week @ 2024-04-24 • Rust 包仓库 106/week @ 2024-05-01 • Rust 包仓库 159/week @ 2024-05-08 • Rust 包仓库 133/week @ 2024-05-15 • Rust 包仓库 185/week @ 2024-05-22 • Rust 包仓库 166/week @ 2024-05-29 • Rust 包仓库 171/week @ 2024-06-05 • Rust 包仓库 99/week @ 2024-06-12 • Rust 包仓库 116/week @ 2024-06-19 • Rust 包仓库 114/week @ 2024-06-26 • Rust 包仓库

每月 537 次下载
2 个库 中使用

MIT 许可证

4KB
59

缓存行大小

这是一个库,用于获取指定架构的缓存行大小。它还有一个泛型类型,可以用来将参数对齐到缓存行大小。

例如,要有一个包含三个 u8 的结构体,每个都在其自己的缓存行上,可以编写以下代码


use cache_line_size::{CacheAligned, CACHE_LINE_SIZE};
use std::mem::size_of;

struct ThreeLineStruct {
  line_1: CacheAligned<u8>,
  line_2: CacheAligned<u8>,
  line_3: CacheAligned<u8>,
}

#[test]
fn it_is_three_lines() {
    assert_eq!(size_of::<ThreeLineStruct>(), 3*CACHE_LINE_SIZE);
}

无运行时依赖项