同様の質問に投稿したように、最適化のルールは次のとおりです。
1) 最適化しない
2) (専門家のみ) 後で最適化する
最適化が時期尚早なのはいつですか? いつもの。
例外はおそらく、設計、または頻繁に使用される適切にカプセル化されたコードにあります。以前、私はタイム クリティカルなコード (RSA 実装) に取り組んだことがあり、コンパイラが生成したアセンブラを見て、内側のループ内の不要な命令を 1 つ削除すると、30% の速度向上が得られました。しかし、より洗練されたアルゴリズムを使用することによるスピードアップは、それよりも桁違いでした。
最適化する際に自問すべきもう 1 つの質問は、「ここで 300 ボー モデムの最適化と同等のことを行っているか?」ということです。. 言い換えれば、ムーアの法則によって、あなたの最適化はやがて意味をなさないものになるでしょうか。スケーリングの多くの問題は、問題にハードウェアを投入するだけで解決できます。
最後になりましたが、プログラムの進行が遅くなりすぎる前に最適化するのは時期尚早です。あなたが話しているのが Web アプリケーションの場合は、負荷をかけた状態で実行してボトルネックがどこにあるかを確認できますが、他のほとんどのサイトと同じスケーリングの問題が発生し、同じ解決策が適用される可能性があります。
編集:ちなみに、リンクされた記事に関して、私は行われた仮定の多くに疑問を呈します. まず、ムーアの法則が 90 年代に機能しなくなったというのは事実ではありません。第二に、ユーザーの時間はプログラマーの時間よりも価値があるかどうかは明らかではありません。ほとんどのユーザーは (控えめに言っても) 利用可能なすべての CPU サイクルを必死に使用しているわけではなく、おそらくネットワークが何かを行うのを待っています。さらに、プログラマーの時間が別の実装に費やされ、ユーザーが電話をしている間にプログラムが行うことを数ミリ秒短縮するために、機会費用が発生します。それより長いものは通常、最適化ではなく、バグ修正です。