Как промахи кэша влияют на раскладку данных?
Промах в основную память стоит порядка двух сотен тактов, поэтому теоретически лучшая структура способна проиграть непрерывному массиву с разгромным счётом. Отсюда раскладка данных под способ обхода: структура массивов, когда вы трогаете одно поле у многих объектов, упаковка горячих полей рядом и отказ от беготни по указателям во внутреннем цикле. Ложное разделение — та же проблема наизнанку: два потока пишут в разные переменные одной кэш-линии и сериализуются на ней, лечится выравниванием до линии.