.NET での I/O バウンド操作の正確なタイミング
課題: データ転送を伴うメソッドなど、I/O 集中型のメソッドの実行時間を正確に測定するには、堅牢で正確なタイミング メカニズムが必要です。 精度と効率のバランスが最も優れているのはどの方法ですか?
Stopwatch
解決策:
.NET Stopwatch
クラスは、タイミング操作に推奨されるアプローチです。 その設計は特にこの目的をターゲットにしており、正確さと実装の容易さの両方を提供します。
<code class="language-csharp">Stopwatch watch = new Stopwatch(); watch.Start(); // Execute the I/O-intensive method here watch.Stop(); long elapsedMilliseconds = watch.ElapsedMilliseconds; </code>
DateTime
を避ける理由
タイミングに DateTime
を使用するのは、Stopwatch
よりも精度が低いため、正確な測定のためには使用しないでください。
パフォーマンスカウンターによる高精度タイミング:
非常に高い精度が要求されるアプリケーションの場合は、オペレーティング システムのパフォーマンス カウンターの活用を検討してください。 これらのカウンターはハードウェア タイミング メカニズムへのアクセスを提供し、優れた精度をもたらします。 (この手法の実装の詳細については、リンクされた回答を参照してください)。
以上が.NET で I/O 集中型のメソッドの実行時間を測定する最も正確な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。