3 releases (1 stable)
1.0.0 | Oct 14, 2018 |
---|---|
0.2.0 | Oct 13, 2018 |
0.1.0 | Oct 13, 2018 |
#283 in Caching
537 downloads per month
Used in 2 crates
4KB
59 lines
Cache Line Size
This is a crate that gives access to the cache line size of a given architecture. It also has a generic type that can be used to align its parameter to the cache line size.
For example, to have a struct with three u8
with each on its own
cache line, you could write the following code:
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);
}