平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

早すぎる最適化

Nick CraverはStackOverflowのアーキテクチャリード。

《早すぎる最適化》に関する一番の問題点といえば、ほぼ毎回、これまでの流れを何もわかってないやつがやってきて二言目には「早すぎる」と口出ししてくることかな。《残りの重要な3%》で日々戦ってる連中は、そんな風に言われるのにもう飽き飽きしてるわけだけど。

《早すぎる最適化は諸悪の根源》って言われるときはいっつも総論でしかないし、そういう言われ方はモヤモヤする。要するに「引用元をちゃんと読んだこともないのに、一つ覚えしてます」ってことでしかないもんなー。そういう引用の仕方はほんと酷いよ。

最適化はそれはそれでよく話し合う方がいいと思うけど、いつ最適化をやるべきか・やらざるべきか自分にはわかってる、とかいうのはまた別の話で、それは多くの開発者に異議を唱えてるも同然だよ。いつ最適化するか?そんなの場合によるから。人生なんでも(どんなことでも)トレードオフだし。最適化に使った時間だって同じこと。

何回実行する?
実行時間はどのぐらい大事?
リソース使用量はどのぐらい大事?
リソースを占有することからくる機会費用は?
オプティマイザーは他にどんなことをする?
状況が変わる頻度は?
保守性はどのぐらい考慮されている?