#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 146/week @ 2024-03-13 144/week @ 2024-03-20 178/week @ 2024-03-27 176/week @ 2024-04-03 98/week @ 2024-04-10 142/week @ 2024-04-17 163/week @ 2024-04-24 106/week @ 2024-05-01 159/week @ 2024-05-08 133/week @ 2024-05-15 185/week @ 2024-05-22 166/week @ 2024-05-29 171/week @ 2024-06-05 99/week @ 2024-06-12 116/week @ 2024-06-19 114/week @ 2024-06-26

每月 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);
}

无运行时依赖项