Just found: std.atomic.cache_line
It is mostly correct. I have Cavium mips64 with 128 byte cache line, Raspberry Pi aarch64 with 64 byte cache line, and all the x86_64 machines I own have also 64 byte cache line.
M2 aarch64 cache line is 128 byte but I don’t get why they choose these values for x86_64.
The problem with this value is that is used at compile-time for alignment, so you cannot use linux sysconf
or windows GetLogicalProcessorInformation
to get the value since these are runtime calls.