awesome-everything EN
↑ Обратно к восхождению

Производительность

Сначала профиль: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту — потолки Amdahl, self vs cum-time, scope измерений, observer effect, статистические baseline и чтение форм flame graph.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в реальном расследовании «сервис тормозит» — не определение для заучивания, а суждение, которое надо защитить числами.

Цель

Убедись, что связываешь измерительный цикл, потолок Amdahl, выбор scope, observer effect, статистическую отчётность и чтение flame graph — тот синтез, к которому вели отдельные уроки.

Викторина

Профиль показывает топ-функцию на 12% общего CPU. Коллега предлагает героический рерайт, который сделает её в 8x быстрее. Прежде чем одобрить — какое число решающее и что оно говорит?

Викторина

Flame graph показывает одну функцию с cum-time 80%, но self-time 2%, над единственным широким листом. Что это и где живёт фикс?

Викторина

Микробенчмарк говорит, что новый хеш в 10x быстрее. Ты хочешь узнать, станет ли быстрее твой API. Какое измерение честно отвечает на это и почему?

Викторина

Instrumentation-профайлер сообщает горячий Java-метод как 40 мс/вызов; sampling-профайлер — 8 мс/вызов для того же метода. Какой отражает production и что вызывает разрыв?

Викторина

PR заявляет «на 15% быстрее» по одному staging-прогону. Второй инженер перезапускает тот же неизменённый код и видит разброс 7%. Как читать исходное заявление?

Викторина

Flame graph показывает тонкие пики, разбросанные по всей ширине, без доминирующего листа, но p99 ужасный. Что говорит форма и что снимать дальше?

Итог

Сквозная линия юнита — одно расследование: квантифицируй жалобу, воспроизведи под реалистичной нагрузкой, сними baseline, читай ФОРМУ прежде имён и дай числам — не интуиции — назвать горячую точку. Потолок Amdahl решает, стоит ли фикс (доля важнее локального speedup); self vs cum-time решает, куда смотреть; выбор scope и observer effect решают, какому измерению верить; статистические baseline решают, реален ли «выигрыш»; а разбросанный flame graph говорит, что боттлнек off-CPU. Каждый неверный ответ выше — реальный способ, которым инженеры обманывают себя, оптимизируя не тот код.

Продолжить восхождение ↑Сначала профиль: тест на воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.