Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
タイミングなしでテストコードを実行してから、タイミング付きで同じコードを実行するのではなく、デバッガーを接続せずにプログラムを実行する理由がよくわかりません。確かに、これはより均一なテストを提供しますが、絶対的なベンチマークを提供しますか、それとも生のパフォーマンスを測定するだけですか?
実際の環境で実行されるため、必ずしもパフォーマンスをテストしているわけではないようです。
コードを実行する最初の数回は、C# ランタイムがバックグラウンドでコードを最適化します。これは、「JIT」または「ジャスト イン タイム コンパイル」として知られています。したがって、測定しているコードが何度も繰り返されることを意図している場合 (たとえば、24 時間 24 時間実行されているループ内)、JIT が完了した後にかかる時間を測定する必要があります。当時の。