Microsoft からダウンロードした DLL は、一般的な x86 アーキテクチャを対象としています。これは、多数のマシンで動作する必要があるという単純な理由からです。
Visual Studio 6.0 のタイム フレームまで (変更されたかどうかはわかりません)、Microsoft は DLL を速度ではなくサイズで最適化していました。これは、DLL の全体的なサイズの縮小により、コンパイラが生成できる他のどの最適化よりもパフォーマンスが向上したためです。これは、マイクロ最適化による速度向上は、CPU がメモリを待機しないことによる速度向上に比べて明らかに低いためです。速度の真の向上は、I/O の削減または基本アルゴリズムの改善から得られます。
プログラムの中心で実行されるいくつかの重要なループだけが、呼び出される回数が非常に多いため、マイクロ最適化の恩恵を受けることができます。コードの約 5 ~ 10% のみがこのカテゴリに分類される可能性があります。このような重要なループは、Microsoft のソフトウェア エンジニアによってアセンブラーで既にある程度最適化されており、コンパイラーが検出できるほど多くは残されていないので安心できます。(期待しすぎなのはわかっていますが、彼らがこれを行うことを願っています)
ご覧のとおり、DLL コードの増加による欠点は、さまざまなアーキテクチャ用に調整された追加バージョンのコードを含むことだけです。このコードのほとんどはめったに使用されないか、CPU サイクルのほとんどを消費する重要なコードの一部ではありません。 .