Производительность
Сначала профиль: тест на воспроизведение
Воспроизведение бьёт перечитывание. Для каждого промпта проговори или напиши полный ответ по памяти прежде, чем открыть модельный — именно усилие припоминания закрепляет материал.
Восстанови ключевые механизмы юнита — измерительный цикл, потолок Amdahl, self vs cum-time, выбор scope, observer effect, статистические baseline и hardware counters — не подглядывая в уроки.
- 01Перечисли семь шагов измерительного цикла и объясни, почему пропуск baseline или гипотезы превращает его обратно в угадывание.
- 02Сформулируй закон Amdahl и объясни, почему выигрыш микробенчмарка 10x может дать speedup приложения 1.05x.
- 03В чём разница между self-time и cum-time, и какое действие подсказывает каждое чтение?
- 04Почему надо проверять, что overhead профайлера в пределах ~5% от baseline headline-метрики, прежде чем верить профилю (observer effect)?
- 05Почему один прогон бенчмарка никогда не измерение и что сообщать вместо этого?
- 06Что hardware performance counters добавляют поверх flame graph и как IPC меняет выбираемый фикс?
Если ты смог восстановить каждый ответ по памяти, ты держишь хребет юнита: измерительный цикл — это каркас (воспроизведи → baseline → прочитай → гипотеза → фикс → дифф → отгрузи); потолок Amdahl решает, стоит ли фикс (доля бьёт локальный speedup); self vs cum-time говорит, куда смотреть; observer effect говорит, какому профайлеру верить; статистические baseline говорят, реален ли выигрыш; а hardware counters говорят, почему функция горячая и какой фикс брать. Измерение над интуицией, каждый раз.