日別アーカイブ: 2007年11月26日

Visual Studio 2008 IDE で MP を使う

連休明けて、引き続き VS2008 です。
今度は IDE 上での MP Build を試しています。
ソース単位で並列にコンパイルできます。

Project の Property から下記の設定をしています。

C/C++ → Code Generation
  Enable Minimal Rebuild が「Yes (/Gm)」になっていたら「No」へ
  (他にも /MP 非互換オプションがあればはずす必要あり)

C/C++ → Command Line
  Additional options: に「/MP4」を追加

・Pentium4 3.6GHz×2×HT (=4) での比較
  (MP無し) 52秒→28秒 (/MP4)

・Core2 Duo 2.4GHz での比較
  (MP無し) 30秒→18秒 (/MP2)

厳密な条件ではないですが、VS IDE 上でも簡単に試すことができました。
Makefile で依存関係を記述すると 1ファイル単位のコンパイルになって
しまうので、/MP 指定もあまり有効に活用されません。
こちらの方が簡単に結果を出せるようです。

ソースファイル 12本ほどのプロジェクトです。Vista x64 使用。
やはり何度も build を繰り返していて、ほぼファイルが全部キャッシュ
された状態で比較しています。
よって条件によってはここまで差が出ないと思われます。
Core2 Duo でも /MP4 の方がさらに1~2秒よい結果となりました。

Visual Studio 2008 MP オプション実験
Visual Studio 2008