1. ホーム
  2. c#

[解決済み] メソッドの実行時間を計算する

2022-03-16 20:46:38

質問

<ブロッククオート

重複している可能性があります。
関数の実行時間を測定するにはどうすればよいですか?

ある場所から別の場所にデータをコピーするI/O時間のかかるメソッドがあります。実行時間を計算するのに最適で現実的な方法は何でしょうか? Thread ? Timer ? Stopwatch ? 他の解決策は?できるだけ正確で、簡潔なものを希望します。

どのように解決するのですか?

Stopwatch はこの目的のために設計されており、.NETでの時間実行を測定する最良の方法の1つです。

var watch = System.Diagnostics.Stopwatch.StartNew();
// the code that you want to measure comes here
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;

禁止事項 DateTimeを使用する を使用して、.NET での時間実行を測定しています。


UPDATE

コメント欄で@series0neさんからご指摘いただいたとおりです。もし、あるコードの実行を本当に正確に測定したいのであれば、オペレーティングシステムに組み込まれているパフォーマンスカウンターを使うしかないでしょう。その 次の回答 には、その概要が記載されています。