Linux環境では1秒以下で動くライブラリ(TriStripper)が、なぜかWindows環境だと4分30秒と約1000倍遅かった。 何でだろうと調べること2時間、ようやく原因が分かった。 STLを「マルチスレッド デバッグなDLL(/MDd)」(ようするにデバッグ版)で使うと死ぬほど遅い!! リリース版1000倍ぐらい。 デバッガーでSTLのコードに入り込んでソースを見ると、どうも_ITERATOR_DEBUG_LEVEL=2が定義されているとMutexを取ったり解放しながら範囲チェックをしているのが問題らしい。 試しにプロジェクトを右クリックして「C/C++」-「プリプロセッサ」-「プリプロセッサの定義」の所に_ITERATOR_DEBUG_LEVEL=1を付け加えてコンパイルし直したらリリース版とほぼ同じ1秒以下で動作した。めでたしめでたし。 ちなみに複数のプロジェクトからなるソリ