ブログ「TECHNOTRONIC FLIGHT II」より。
http://blog.goo.ne.jp/kinoshita_naoki/e ... cf86669792
まるまる記事をコピーしてくるのも心許ないので、↑のサイトを参照してください。
並列ビルドなので、マルチコアCPUを搭載してないとあまり効果はないのかもしれませんが、
私の"Core 2 Quad Q9300"では驚くほど速くなりました。
割とご存知の方もいらっしゃるのかもしれませんが、
ご存じない方のため、一応。では。
VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
Re: VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
全く存じておりませんでした。
有益な情報をありがとうございます。
有益な情報をありがとうございます。
Re: VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
早速試してみました。大雑把な計測ですが、
並列ビルド無効→28秒
並列ビルド有効→24秒
2コアですが、多少は速いのかな(-_-;)
並列ビルド無効→28秒
並列ビルド有効→24秒
2コアですが、多少は速いのかな(-_-;)
Re: VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
>kimuchiさん
いえいえ。元ブログの方に感謝ですね。
>h2so5さん
ふむ、その数値的にはあまり効果はみられないような・・・
私の今作ってるゲームですと、
並列ビルド無効 → 39秒
並列ビルド有効 → 19秒
で、ほとんど2倍速です。
(ビルドログより)
むむう、4コアじゃないと効果は薄い・・?
いえいえ。元ブログの方に感謝ですね。
>h2so5さん
ふむ、その数値的にはあまり効果はみられないような・・・
私の今作ってるゲームですと、
並列ビルド無効 → 39秒
並列ビルド有効 → 19秒
で、ほとんど2倍速です。
(ビルドログより)
むむう、4コアじゃないと効果は薄い・・?
Re: VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
これは凄いですね!
並列ビルド無効 → 21秒
並列ビルド有効 → 5秒
と4倍速という効果が得られました!!
こちらは8コアでの結果です。
並列ビルド無効 → 21秒
並列ビルド有効 → 5秒
と4倍速という効果が得られました!!
こちらは8コアでの結果です。
Re: VC++2010でコンパイルを高速化する方法(並列ビルドの有効化)
/MP オプションにおけるビルドは、そのプロジェクト内にあるソースファイルの数があればある程高速化が見込めます(スレッドごとに1ソースファイルをコンパイルする為)が、
複数プロジェクトをビルドする時に(依存関係によりますが)それぞれのプロジェクトのビルドが複数スレッドにより同時進行します。
そのような状態であれば、既に同時プロジェクトビルドによってCPUの個数分進行していた場合、余り変化が無いと思われます。
※もちろんあるプロジェクトが先に完了してCPUが空いたら、その後のプロジェクトのビルドが /MP オプションによって高速化すると思います。
追記:
私の所で開発中のプロジェクトでは、
シングルコンパイル(/MP無)、シングル(1並列)プロジェクトビルド: 約53秒
シングルコンパイル(/MP無)、マルチ(4並列)プロジェクトビルド: 約47秒
マルチコンパイル(/MP有)、マルチ(4並列)プロジェクトビルド: 約25秒
でした。参考にどうぞ。
※CPUは4コア、ソリューションに登録されているプロジェクト数は10個(内、 周囲機能→本体ライブラリ→そのテスト用 の順に依存関係)です。
複数プロジェクトをビルドする時に(依存関係によりますが)それぞれのプロジェクトのビルドが複数スレッドにより同時進行します。
そのような状態であれば、既に同時プロジェクトビルドによってCPUの個数分進行していた場合、余り変化が無いと思われます。
※もちろんあるプロジェクトが先に完了してCPUが空いたら、その後のプロジェクトのビルドが /MP オプションによって高速化すると思います。
► スポイラーを表示
私の所で開発中のプロジェクトでは、
シングルコンパイル(/MP無)、シングル(1並列)プロジェクトビルド: 約53秒
シングルコンパイル(/MP無)、マルチ(4並列)プロジェクトビルド: 約47秒
マルチコンパイル(/MP有)、マルチ(4並列)プロジェクトビルド: 約25秒
でした。参考にどうぞ。
※CPUは4コア、ソリューションに登録されているプロジェクト数は10個(内、 周囲機能→本体ライブラリ→そのテスト用 の順に依存関係)です。
最後に編集したユーザー 御津凪 on 2011年3月17日(木) 00:37 [ 編集 1 回目 ]
理由: 追記しました
理由: 追記しました