34

性能

早すぎる最適化

工数の誤配分。

条文

もし

「早すぎる最適化はあらゆる悪の根源である。」計測が必要性を示す前にコードを最適化すると、エンジニアの時間を浪費するだけでなく、ホットパスとコールドパスを絡め取って、本当に必要となる最適化を阻む複雑性を残してしまう。

ならば

まず素直なコードを書け。プロファイラがボトルネックと証明したホットパスのみを最適化せよ。残り 97% のクリティカルでないコードは単純なまま保て——次のメンテナーが住むのはそこである。

ただし

プロファイル優先 / Make It Work, Make It Right, Make It Fast (この順序で)

出典

Donald E. Knuth, Structured Programming with go to Statements (Computing Surveys, 1974)。

原典へ

関連する条文