« 攻殻機動隊 S.A.C. O.S.T.3 | Main | 次の一手問題 »

July 28, 2005

VC++ v.s. g++

実はVC++とgccの速度比較をしたことがなかったことに気づいたので、ちょっと実験。テストは例によってオセロである。

実験に用いたコンパイラとコンパイルオプションは以下の通り。

  • Visual C++ 7.1…/Ox(最大限の最適化)にCPU「Pentium4またはAthlon」を指定
  • g++ 3.4.1(mingw)…-O3 -march=pentium4
  • g++ 3.3.3(cygwin)…-O3 -march=pentium4 (-mno-cygwinオプションなし)

以下に示す結果が得られた(単位は秒)。

テストVC++ 7.1g++ 3.4.1(mingw)g++ 3.3.3(cygwin)
FFO#4012.59411.07812.734
FFO#4126.92224.18826.892
FFO#4229.42126.54229.39
10手読みセルフ対局31.31225.76627.422

mingw版g++の速いこと速いこと。全てのテストにおいて他を圧倒する性能を見せた。少なくとも俺のコードに対しては、VC++よりもg++の方が最適なコードを吐いてくれるようだ。さらに、遅さが懸念されたcygwin版g++であるが、特に問題はなく、普通の速度で動作した。cygwin版g++で極端な速度低下が起きる現象の再現条件が全くわからない。cygwin版とmingw版の速度の差はバージョンの差もしくはメモリアロケーションまわりのAPI呼び出しにまつわるものだろうか。

|

« 攻殻機動隊 S.A.C. O.S.T.3 | Main | 次の一手問題 »

Comments

今までg++の方がパフォーマンスがよかったのといえば、QM砲かな。Linux版の方が速いかも。まぁ、ライブラリの実装もあるだろうし、NRVOのおかげかもしれん。

Posted by: unno | July 29, 2005 04:59 AM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference VC++ v.s. g++:

« 攻殻機動隊 S.A.C. O.S.T.3 | Main | 次の一手問題 »