4 ms·
In case you are wondering about your cache-line size on a Linux box, you can find it in sysfs.. something like.. cat /sys/devices/system/cpu/cpu0/cache/ind
by eikenberry 2y ago
In case you are wondering about your cache-line size on a Linux box, you can find it in sysfs.. something like..
cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
- Hello71 2y agogrep . /sys/devices/system/cpu/cpu*/cache/index*/coherency_line_size would be better, but lscpu -C is more useful.
- eikenberry 2y agoDidn't know about 'lscpu -C'.. thanks!
- wyldfire 2y agoAnother (more portable) way to get the cache line size is to use std::hardware_(destructive|constructive)_interference_size from C++17. While it's more portable, there are some drawbacks. Drawbacks with this approach are: (1) the statically known cache line size might not be right if you deploy your code to a target CPU different from the one you compiled for, (2) using this value to define structure + member alignment in headers could end up with interesting bugs if different source files including the header are built with different flags. Also: your toolchain might not support it yet.