ПРОЦЕССОРЫ / ПАМЯТЬ / ПРОИЗВОДИТЕЛЬНОСТЬ
Что происходит
внутри процессора.
От первой инструкции до параллельных вычислений. Понятные объяснения, планы собственных измерений и калькулятор параллелизма для начинающих разработчиков и любознательных читателей.
БАЗА ЗНАНИЙ
От простого к устройству системы
Как процессор выполняет программу
От инструкции до результата: регистры, декодирование и исполнение.
Читать руководство →Память ↗Кэш, память и локальность
Почему порядок обхода данных иногда важнее количества вычислений.
Читать руководство →Исполнение ↗Условные переходы и предсказание
Как ветвления влияют на поток инструкций и что проверять в тесте.
Читать руководство →НЕБОЛЬШАЯ ЛАБОРАТОРИЯ
Вдвое больше ядер.
Вдвое быстрее?
У последовательной части программы свои планы. Посчитайте теоретический предел ускорения и посмотрите, где заканчивается польза параллелизма.
Проверить по закону Амдала ↗СЛЕДУЮЩИЙ ШАГ
Проверяем идеи на практике
Ядра, потоки и предел ускорения
Что даёт многопоточность и как оценить её пользу до переписывания кода.
Читать руководство →Практика ↗Как измерять производительность
Повторяемый эксперимент вместо одного удачного запуска.
Читать руководство →Практика ↗Частота, мощность и нагрев
Почему гигагерцы не заменяют измерение задачи.
Читать руководство →