関数の実行時間を測定する最良の方法は何ですか?[重複]
-
22-08-2019 - |
質問
この質問にはすでに答えがあります:
明らかに私にはできるし、 DateTime.Now.After
- DateTime.Now.Before
しかし、もっと洗練されたものがあるはずです。
ヒントをいただければ幸いです。
解決
System.Environment.TickCount そしてその システム.診断.ストップウォッチ クラスは、より細かい解像度と簡単な使用に適した 2 つです。
関連項目:
他のヒント
プロファイラーを使用する
それでも、あなたのアプローチは機能しますが、より洗練されたアプローチを探している場合。を使用することをお勧めします C# プロファイラー.
それらの利点は次のとおりです。
- ステートメントレベルの別れを告げることもできます
- コードベースを変更する必要はありません
- 一般に、計測器のオーバーヘッドは非常に少ないため、非常に正確な結果が得られます。
たくさんあります オープンソース 同じように。
のTickCountは、良いですしかし、私はそれを100または1000回を実行し、その平均値を計算することをお勧めします。 本当に速い/ショート機能の場合には、しかし、オーバーヘッドによって引き起こされるいくつかのいずれかオフの影響に対処するのに役立ちます。
- だけでなく、それはより多くの測定可能になります。所属していません StackOverflow