2009-07-10 17 views

答えて

5

"ツール" - > "オプション" - > "プロジェクトおよびソリューション" - > "VC++プロジェクトの設定"

ティック "のタイミングを構築します"。

+1

真剣に、それは簡単ですか?私はまだ私の解決が好きです! :) –

+0

ビルドタイミングは、各ファイルではなく、さまざまなビルドプロセスの時間を示します。 –

0

私はこのバージョンのコンパイラを使用して以来、しばらくしていますが、コマンドラインビルドを使用すると、コンソールにコンパイルしているファイルの名前が表示されます。ソースファイル名

  • を探して、パイプから読む
  • パイプに標準出力をリダイレクトするには、コマンドラインコンパイラの

    1. のCreateProcess:そのような場合、あなたは次の処理を行い、プログラムを書くことができますソースファイル名が見られるたびに、それは希望、ファイルごとに撮影した時間が

    を構築するから、このアプローチはC++で開発することができますが、印刷、現在のタイムスタンプパイプがクローズされる

  • の点に注意してください。おそらくPerlのようなツールを使って実装する方が簡単でしょう。

  • +0

    greg thats素晴らしいアプローチに感謝しています... –

    +0

    については、Pythonスクリプトを書くことについては? –

    +0

    もちろん、これにもPythonが適しています。 –

    6

    私はVisual Studio 2010を使用していますが、他のバージョンのVisual Studioでも同様のことがあります。 VS2010では、各ファイルをコンパイルするのにかかる時間を表示するコマンドラインオプション/ Bt +を追加することができます。したがって、「構成プロパティ」 - >「C/C++」 - >「コマンドライン」 - >「追加オプション」のプロジェクトプロパティで、/ Bt +

    を設定すると、/ Bt +オプションを設定すると、ログファイル)は、次のような行:私は何に応じて、タイムラインを抽出する方法はたくさんあります。この回答のおかげにhttps://stackoverflow.com/a/3513043/453436

    を見つけ https://blogs.msdn.microsoft.com/vcblog/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker/ でこのオプションの

    time(c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\c1.dll)=0.05110s < 25394686804 - 25394831194 > BB [C:\not-important\nlopt-2.4.2\direct\DIRect.c] 
    

    さらに詳しい情報あなたが利用できるツール。 find、grep、perlの組み合わせでbashシェルの下で実行しました。以下は、最長で最初にソートされたコンパイル時間を示します。

    find . -name '*.log' | xargs grep time | perl -ne '$_ =~ /=(.*?)s.*\[(.*)\]/; print "$1 $2\n";' |sort -rn 
    
    +0

    ありがとう!私はVS2013を使用して、これは実際にファイルごとのコンパイル時間を示しています。別の回答に記載されているように、 "Build Timing"オプションを使用すると、プロジェクトごとのコンパイル/リンク時間のみが表示されます。 – opetroch

    関連する問題