路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

VC2008 SP1 正式版到来 その2

2008-08-18 15:00:44 | プログラミング
前のエントリのコメントで教えてもらった_MSC_FULL_VERを調べているうちに、
Visual C++ Team Blogのエントリを見つけました。
http://blogs.msdn.com/vcblog/archive/2008/08/11/tr1-fixes-in-vc9-sp1.aspx

これによると、どうも、hash_map, hash_setがSP1(正式版)で改善されたらしい。

早速ベンチマーク。コードは2008/06/26と同じものを使いました。

結果。

VC++2008+FP, set -> 19秒台/2.0~2.1秒台
VC++2008+FP, unordered_set -> 12~14秒台/1.2~1.3秒台
VC++2008 SP1, set -> 19秒台/2.0~2.1秒台
VC++2008 SP1, unordered_set -> 8~9秒台/1.6~1.7秒台

と、だいぶ改善されてました。SP1になって、g++ 4.2と比較してもほとんどそん色ないくらいになりました。

上述のブログをさらに読むと、地味なバグフィックスも多々。

個人的には、
・regexのパフォーマンス改善(多くの場合Boost 1.35.0のRegexのより速い)
・TR1で導入されたコンテナでO(1)のswapが使えるように修正
というのが目を引きました。