Reddit-learnprogramming-“Duff's Device”として知られているハックは、実際のアプリケーションで使用されていますか?

ダフのデバイスは、(ほとんど)常に”マイクロ最適化”と呼ばれる例です。”マイクロ最適化の古典的な例は、アプリケーションのパフォーマンスに知覚できる改善をもたらさずに、コードベースを複雑にして畳み込むものです。

単一のループ、単一の小さな関数などを最適化するダフのデバイスのようなほとんどのトリックは、マイクロ最適化です。 Cpuは、これらの日は、あなたは通常、これらのトリックを使用して、任意の測定可能な改善を得ていないことを、ちょうどとてもfreakin’高速です。 しかし、あなたは間違いなくあなたのコードを理解して維持することを桁違いに難しくしています。 CPUの速度に加えて、コンパイラは、これらの日は本当にスマートです。 彼らはあなたのソースコードをbastardizeする必要なしに、コンパイルされたプログラムを最適化するために舞台裏でこのようなトリックを行うことがで

最近のほとんどのパフォーマンスの”問題”は、実際には個々のループよりも高いレベルにあります。 データモデルがディスクとメモリでどのように表現されるか、ディスクとRAMの間のスワップをどのように制限できるか、シリアル化されたデータの量 そこから、あなたは本当にCPUに束縛された問題を解決するために取っているより高いレベルのアルゴリズムとアプローチに入ります。 ダフのデバイスのようなもので単一のループを最適化するポイントに到達することは、今日、ほとんどの場合、間違ったことです。

コメントを残す

メールアドレスが公開されることはありません。