01 ▸ 워크플로우 위치
[성능 저하]
│
▼
┌─────────────────────────────┐
│ Rob Pike (ACTIVE) │
│ 5가지 규칙 기반 측정/검증 │
└──────────────┬──────────────┘
│
▼
[최적화]
02 ▸ 언제 사용하나요?
성능 개선이 필요할 때 — 최적화를 시작하기 직전에 작동합니다.
주요 트리거
최적화
느려
병목
빠르게
- 이 루프가 느려 보인다는 느낌이 들 때
- "병목은 어디인가?"라고 자문할 때
03 ▸ 5가지 하드 룰
핵심 원리: "이 루프가 느려 보인다" → "프로파일링 해보셨나요?". 측정이 병목을 확인하고, 가장 단순한 변경이 최적화가 됩니다.
- 병목을 예측할 수 없다: 누가 어디가 느린지 맞추지 않습니다. 프로파일러가 알려줍니다.
- 튜닝 전 측정: 기존 계측(log, profiling, timing, APM)을 스캔하고, 없으면 계측부터 추가합니다.
- n이 작으면 복잡한 알고리즘도 느리다: 그리고 n은 보통 작습니다. 단순한 코드가 이깁니다.
- 복잡한 알고리즘은 버그도 많다: 단순한 알고리즘이 유지보수도 쉽고 디버깅도 쉽습니다.
- 데이터 구조가 핵심이다: 올바른 데이터 구조를 선택하면 알고리즘은 자명해집니다.
04 ▸ 하드 게이트
측정 전에는 절대 최적화하지 않습니다. "느려 보인다"는 충분한 이유가 아닙니다.