プログラムが実行している時間をテキストボックスまたは出力でどのように出力しますか?プログラムの実行に時間がかかります
forループに表示して、各forループにどれくらいの時間が必要なのかを確認します。
プログラムが実行している時間をテキストボックスまたは出力でどのように出力しますか?プログラムの実行に時間がかかります
forループに表示して、各forループにどれくらいの時間が必要なのかを確認します。
あなたは試みることができる:
DateTime dt = DateTime.Now;
for (.......)
{
}
TimeSpan ts = DateTime.Now - dt;
textbox1.Text = ts.TotalMilliseconds.ToString();
か(をMSDNに応じて)あなたがより良い解決
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (.......)
{
}
stopWatch.Stop();
textbox1.Text = stopWatch.ElapsedMilliseconds.ToString();
var watch = System.Diagnostics.Stopwatch.StartNew();
for()
{
// ..
}
watch.Stop();
// Format 00:00:02.0001008
string elapsed = watch.Elapsed.ToString();
// Milliseconds like 2000 for 2 seconds
string elapsedMs = watch.ElapsedMilliseconds.ToString();
System.Diagnostics.Debug.WriteLine(elapsed);
+1を試してみてください正しい!! – Marco
このようなもの:?
DateTime start = DateTime.UtcNow;
//... processing ...
DateTime end = DateTime.UtcNow;
Syste.Diagnostics.Debug.WriteLine((end - start).ToString());
[MSDN](http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx)のドキュメントでは、ベンチマークの目的でDateTimeクラスを使用して**に対して**を特に推奨しています。 – R0MANARMY
私は細かいタイマーがあることを知っていると確信しています。これは秒や分を見たい場合にはいいですね。:) –
これらの2行を追加します。Forループ間または関数間の速度をテストするコードの間に追加します。
Debug.WriteLine(DateTime.Now.ToLongTimeString());
--your code
Debug.WriteLine(DateTime.Now.ToLongTimeString());
これは、コードの実行に要した時間だけでなく、DateTimeを文字列に変換してコードを実行するのにかかる時間を測定するため、正確ではありません。コードが数分のオーダーで実行される場合、数ミリ秒は重要ではありませんが、実行時間が短くなると違いが生じる可能性があります。 – R0MANARMY
@Romanarmy、あなたは間違いなく、時間厳守の核プロジェクトです。あなたが知っているように、私たちが日々開発しているプロジェクトのほとんどは、Nuclear Web Applicationsです。 –
いいえ、私たちはすべてのコードを厳密なループで実行しており、効率が悪いということは、ユーザーがボタンをクリックするたびにUIが1秒間ロックアップするため、ユーザーエクスペリエンスが悪いことを意味します。 – R0MANARMY
この記事を見てみましょう:[ストップウォッチクラスとC#の機能のパフォーマンスをタイミング](http://www.dijksterhuis.org/timing-function-performance-stopwatch-class/) – R0MANARMY
さて、あなたはセットタイマーを停止し、タイマーを停止し、テキストボックスに時間を入力します。簡単!より深刻な場合は、あなたの答えが最初であったため、http://msdn.microsoft.com/en-us/library/system.datetime.now.aspxと '.Subtract()' – alf