DateTime.Now
による関数パフォーマンスのベンチマーク: ベスト プラクティス
パフォーマンスの最適化には、関数のパフォーマンスを正確に測定することが重要です。しかし、DateTime.Now
の使用は理想的なアプローチでしょうか?
質問: 次のコードは、パフォーマンスを測定するために DateTime.Now
を効果的に使用していますか?
<code class="language-csharp">DateTime startTime = DateTime.Now; // 执行过程 DateTime endTime = DateTime.Now; TimeSpan totalTimeTaken = endTime.Subtract(startTime);</code>
答え: いいえ、より適切なオプションがあります。
推奨される方法: System.Diagnostics
名前空間の Stopwatch
クラスを使用します。
<code class="language-csharp">Stopwatch sw = Stopwatch.StartNew(); PerformWork(); sw.Stop(); Console.WriteLine("Time taken: {0}ms", sw.Elapsed.TotalMilliseconds);</code>
ストップウォッチが推奨される理由:
Stopwatch
可能な場合は高精度タイマーを使用します。 DateTime.UtcNow
は通常 15 ミリ秒の解像度を提供しますが、Stopwatch
はより高い精度を目指しています。 その他の注意事項:
DateTime.Now
は DateTime.UtcNow
よりも遅くなる可能性があります。 Stopwatch
は DateTime.UtcNow
に戻ります。 Stopwatch
がハードウェア カウンターを使用するかどうかを判断するには、Stopwatch.IsHighResolution
属性を確認します。 以上が「DateTime.Now」は関数のパフォーマンスをベンチマークする最良の方法ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。