Visual C++ 7.1 vs. Intel C++ Compiler 9.0
フリーの「Visual C++ Toolkit 2003」(以降VC++7.1) と 商用の「Intel C++ Compiler 9.0」(以降ICC9.0)のベンチマークを行いました。
巷では、ICC9.0の最適化の方が優れているとの評価ですが、これを使うと嘘つきになります。
ベンチマークの結果からVC++7.1の生成するコードが最速であることがわかりました。
フリーのコンパイラがこんなに速くていいのでしょうか。
ベンチマーク結果
Tcl/Tk 8.5a3のソースをそれぞれのコンパイラでビルドし、自作ソフトTkEngineで性能を測定しました。
コンパイラ | 最適化オプション | TkEngine値 | 備考 |
VC++7.1 | -Op -Ox -G7 | 203 | 最速! |
ICC9.0 | -Op -Ox -G7 | 196 | |
VC++6.0 | -Op -O2 -Gs | 186 | |
※ Windows XP, Pentium 4 540(3.20GHz), Hyper-Threading有効, GeForce 6200 で測定
ちょっと気になる点
ICC9.0でビルドしたバイナリは、libmmd.dllというライブラリが必要でした。
きっとこのdllを不要にするオプションがあるはずですが、要調査ですね。
ICC9.0のデフォルトは、-Qvc8オプションのようです。VC++8.0ってまだ売ってませんよね?
他に-QxN, -QxPとかも試して見ましたが、実行性能にほとんど変化はありませんでした。
現在の野望
VC++7.1を使って、世界最速のTclkitやFreewrapを作りたいと思いますが、
現在、正常にビルドできていません。研究中です。気長にお待ちくいださい。。
参考