4

私は、いくつかの数の処理を行うC++アプリケーションをビルドします。 私はVisual Studio 2008 PRO SP1、リリースモード、Windows 7 64ビットで動作しています。 IDE内で実行すると、アプリケーションは4分かかります.Windowsエクスプローラから同じ実行可能ファイルを実行すると、6秒かかります! 私は手がかりがありません。私はこれがプロセッサーとオペレーティングシステムに依存しないことを確認しました。私はバックグラウンドで何かをしている奇妙なVSプラグインを持っているとは思わない。私のC++実行可能ファイルは、リリースの中でさえ、Visual Studio 2008 IDEの外ではより速く実行されます。

ヒント ありがとうございます!

マルコ

+1

可能な重複:http://stackoverflow.com/questions/2395520/visual-studio-slowing-down-application –

+0

同じようなことが起こります! ProcessExplorerを見ると、VC devenv.exeは外部からexecを起動しても10〜30%のCPUを消費します。 – 9dan

+0

「アプリケーションは4分かかる」とはどういう意味ですか?それは*起動するのにどれくらいの時間がかかりますか?それとも、特定のメソッドを実行するのにどれくらいの時間がかかりますか? –

答えて

11

はおそらく、スローダウンは、あなたは、Visual Studioでアプリケーションを起動している時に添付されているデバッガによって引き起こされます。これは、「リリース」モードでプログラムをビルドした場合でも同じです。

コマンドまたははCtrl +F5を「デバッグなしで開始」を使用して、デバッガなしでアプリケーションを実行してみてください、これは確かにあなたの問題の原因であることを確認します。

      Start Without Debugging

それはあなたがデバッグなしで開始すると、C++で特異的に、あなたのプログラムは、Windowsのデバッグヒープを使用することはありません何も価値があります。デバッガを接続すると、デバッガが接続されます。

+0

これは私にとってはうまくいきました。私は、デバッガがリリースモードでも実行中であることに気づいていませんでした。ありがとう! –

+1

出力ウィンドウで何が起きているのか確認してください。制御フローに例外を使用しないでください。 –

+0

@Marco:確かに。リリースモードでコンパイルされていても、ブレークポイントなどをヒットすることができます。それを聞いてうれしいことがあなたの問題を解決しました。もちろん、私はそれについてあまり心配する必要はありません - あなたのアプリは、デバッガの外部*での実行がずっと高速です。 –

0

Codyが述べたように、1つのオプションは単にデバッグしないことです。しかし、デバッグセッションのスピードアップをお望みなら、大きな違いを生むものがいくつかあります:

  1. 不要になったデバッグプリントステートメントを削除します。あなたのログがテキストで満たされているのを見ると、あなたの速度が著しく低下する可能性があります。
  2. 削除ブレークポイント(はCtrl +Shiftキー + F5)。数回私はパフォーマンスが大幅に低下していることに気付きました。そして、これは決して満たされなかった条件でブレークポイントが原因であることが判明しました。
関連する問題