독립 측정 우선

Rob Pike's 5 Rules

조기 최적화를 방지하고 측정 기반 개발을 강제합니다. "느려 보여도 측정 전에는 만지지 않는다."

01 ▸ 워크플로우 위치

[성능 저하] │ ▼ ┌─────────────────────────────┐ │ Rob Pike (ACTIVE) │ │ 5가지 규칙 기반 측정/검증 │ └──────────────┬──────────────┘ │ ▼ [최적화]

02 ▸ 언제 사용하나요?

성능 개선이 필요할 때 — 최적화를 시작하기 직전에 작동합니다.
주요 트리거
최적화
느려
병목
빠르게
  • 이 루프가 느려 보인다는 느낌이 들 때
  • "병목은 어디인가?"라고 자문할 때

03 ▸ 5가지 하드 룰

핵심 원리: "이 루프가 느려 보인다" → "프로파일링 해보셨나요?". 측정이 병목을 확인하고, 가장 단순한 변경이 최적화가 됩니다.
  1. 병목을 예측할 수 없다: 누가 어디가 느린지 맞추지 않습니다. 프로파일러가 알려줍니다.
  2. 튜닝 전 측정: 기존 계측(log, profiling, timing, APM)을 스캔하고, 없으면 계측부터 추가합니다.
  3. n이 작으면 복잡한 알고리즘도 느리다: 그리고 n은 보통 작습니다. 단순한 코드가 이깁니다.
  4. 복잡한 알고리즘은 버그도 많다: 단순한 알고리즘이 유지보수도 쉽고 디버깅도 쉽습니다.
  5. 데이터 구조가 핵심이다: 올바른 데이터 구조를 선택하면 알고리즘은 자명해집니다.

04 ▸ 하드 게이트

측정 전에는 절대 최적화하지 않습니다. "느려 보인다"는 충분한 이유가 아닙니다.

05 ▸ 연결된 스킬

Systematic Debugging 홈으로 돌아가기