Microsoftのサイトで有用な情報を見つけることができなかったので、ここに質問があります。VisualC ++ 2008のコンパイラは、2005バージョンから大幅に改善されていますか?私は特により良い最適化を探しています。
5 に答える
馬の口から真っ直ぐに....
Somasegarは、このブログ投稿にいくつかのメモを持っています。主にインクリメンタルビルドの改善とマルチコアの改善について。
私たちの上級開発者の 1 人によると、VS2008 機能はマルチコア コンパイルのサポートを拡張したため (プロジェクト単位ではなくファイル単位であると聞いています)、プロジェクトのパフォーマンスが合理的に最適化される可能性があります。
私の経験では、コンパイラの最適化によってバージョン間で数パーセント以上改善されることはめったにありません。より高いパフォーマンスが本当に必要な場合は、その数パーセントでは十分ではありません。さらにパフォーマンスが必要な場合は、コードを掘り下げる必要があります。
コンパイラは非常に愚かであり、通常、賢いプログラマーによって裏切られる可能性があることを忘れないでください。唯一の問題は、そうするのに時間と労力を費やす価値があるかどうかです。CPU 時間の 90% を占める単一のコア関数がある場合、それは間違いなくそうである可能性があります。ランタイムが 1 万行のコードに均等に分散している場合は、おそらくそうではありません。
もちろん、速度の問題がアルゴリズムの遅さによるものである場合、どのコンパイラもあなたを救うことはできません。