Автор ставит забавный эксперимент: найти самый медленный способ просуммировать массив из 2^26 целых чисел на C++, меняя только порядок доступа к элементам. Он умудряется превзойти по медлительности даже случайный доступ более чем на 30%.
Отправной точкой служат линейный проход и случайная перестановка Фишера-Йетса. После чего автор шаг за шагом выстраивает патологический паттерн, последовательно эксплуатируя устройство памяти: доступ с шагом в кэш-линию убивает переиспользование кэша, шаг в целую страницу ломает аппаратный префетчер и создает конфликтные промахи из-за наборно-ассоциативного кэша, а увеличение дистанции переиспользования выбивает данные из приватных кэшей ядра.
Короче, действительно интересная статья, которая может многому научить по работе с памятью. Несмотря на нарочито комичную цель, статья служит наглядным уроком о работе кэшей, префетчеров, MMU и DRAM
15.07.2026
Похожее
10.07.2026
Ода форумам
Автор статьи размышляет о закате веб-форумов и том, что мы потеряли с их уходом....
03.07.2026
DOOM на Cobol
Так, так, сча будут шикарные новости Ютубер с ником icitry написал полноценны...
01.07.2026
Глитчарт
Начнем понедельник с искусства. Кстати, я уже как-то писал про гличарт: https://...
10.06.2026
Детектив
Детективная история про взлом колонки Исследователь обнаружил критические уяз...