「クリーン」なコードがもたらす恐ろしいパフォーマンス低下
"Clean" Code, Horrible Performance (2023)
「クリーンコード」の教えに従うと、実際にはパフォーマンスが大幅に悪化することがある。本記事では、ポリモーフィズムをswitch文に置き換えるだけで1.5倍の高速化が達成できることを、具体的なコード例とベンチマークで示す。さらに、クラス階層をやめて構造体とswitch文を使うことで、コンパイラの最適化が容易になり、より大きな性能向上が期待できる。クリーンコードの原則が必ずしも効率的でないことを実証する。
ポリモーフィズムを使う代わりにswitch文を使うだけで、シェイプあたりのサイクル数が35から24に減少し、1.5倍の性能向上が得られた。