подскажите еще такой момент:
как можно замерить влияние суперскалярности на производительность?
Есть ли тулзятины, которые помогают как-то трекать prefetching, out of order, superscalar, branch prediction и т.п. штуки (если не все перечислил:))
Самому написать?
Читай об инструкции rdpmc. Я её не использовал, просто знаю, что она есть и позволяет получать счётчики производительности (в т.ч. last-level cache misses, branch misses и пр). Короче, 18-я глава 3-го тома интеловского мана + описание инструкции во 2-м томе. Но это нетривиальная задача. Инструкция привилегированная, а значит придётся юзать драйвер. В качестве примера использования можно взять PMCTest Агнера Фога: https://www.agner.org/optimize/#testp (драйвер в комплекте). Но разбираться придётся самому.
Линукс и perf? Сделать perf list, посмотреть, что процессор умеет отдавать.
Обсуждают сегодня