CPUxАРХИТЕКТУРА В ДЕТАЛЯХ

Практика · РЕДАКЦИОННЫЙ МАТЕРИАЛ

Как измерять производительность

Повторяемый эксперимент вместо одного удачного запуска.

Определите вопрос

Измерение должно отвечать на конкретный вопрос: время обработки запроса, пропускная способность или задержка операции. Зафиксируйте вход и ожидаемый результат. Ускорение неверного алгоритма не имеет смысла. Для сервиса отделяйте время CPU от ожидания сети, диска и очереди.

Сохраните условия

Запишите модель CPU, ОС, компилятор, параметры оптимизации и размер данных. Фоновая нагрузка, прогрев, частота и температура могут менять результат. Делайте несколько повторов, показывайте разброс и медиану; не выбирайте только лучший запуск. При сравнении чередуйте варианты, чтобы уменьшить влияние постепенного нагрева.

Linux: начальный набор

Начните с lscpu для топологии и /usr/bin/time для общего времени процесса. Если perf доступен, perf stat -- ./program помогает собрать счётчики. Доступность событий зависит от оборудования, ядра и прав. Отсутствующее событие не равно нулю. Не меняйте глобальные ограничения perf без понимания последствий.

Проверьте гипотезу

Если подозреваете память, меняйте размер рабочего набора и порядок доступа. Если подозреваете синхронизацию, меняйте число работников. Сравнивайте одинаковые результаты программы и сохраняйте сырые измерения. Учебный микротест объясняет механизм, но итоговое решение проверяют на полной задаче.

Проверить по первоисточнику

Общий материал проверен по документации 26 октября 2026 года. Детали конкретного процессора уточняйте в его руководстве.

Далее: Частота, мощность и нагрев →