크누스의 시기상조 최적화
유래
1974년 도널드 크누스의 ACM 「Structured Programming with go to Statements」 논문. 전체 인용 — "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." 자주 "premature optimization is the root of all evil"만 잘려 인용되지만, 핵심은 97% — 측정 전 최적화는 시간 낭비를 넘어 해롭다.
의미
엔지니어의 본능 — "이 부분이 느릴 것 같으니 먼저 빠르게 만들자." 크누스의 발견 — 우리의 직관은 거의 항상 틀린다. 진짜 느린 코드는 측정해야만 보인다. 90%의 시간을 차지하는 10%의 코드가 있고, 그것은 측정해야 안다. 측정 없이 한 최적화는 코드만 복잡하게 만든다.
교훈 — 동양 고전과 만나다
「논어」 자로편: "欲速則不達" — 빠르게 하려 하면 이르지 못한다. 공자가 가르친 速의 함정. 크누스는 그 함정이 코드 안에서 작동하는 방식을 보였다 — 빠르게 하려는 욕망이 코드를 더 느리게 만든다.
"早(조)"는 해(日) + 열 십(十) → 본래 해가 떠올라 열 시 같은 모양 → 이르다, 빠르다. 「논어」: "君子貞而不諒, 小人諒而不貞" — 군자는 곧되 작은 신의에 매이지 않는다. 早한 최적화에 매인 자는 諒(작은 신의)에 매여 貞(큰 곧음)을 놓친다.