非常に具体的なパフォーマンス テストについて回答する必要がある、非常に具体的な質問があります。わかりやすくするために、コードを単純化します。
私は多くの計算 (数千万) を行いますが、それ自体はそれほど長くないループですべて実行され、合計計算時間が必要です。ただし、すべての計算が次々に直接実行されるわけではなく、ループごとに余分なコードが「間に入ります」。
私が必要としているのは、すべてのループの正確な合計時間です (i の宣言と初期化、インクリメント、例の 100 との比較を含む)。時間を測定するために、Stopwatch
すべてのループの直前に開始し、ループの直後に停止します。しかし、これら 2 つのアクションには、関連する可能性のある時間が必要ですか?
例:
Stopwatch sw = new Stopwatch();
sw.Start();
//how long does it now take until for loop is reached?
for(int i = 0; i < 100; i++)
{
//some calculations
}
//how much time does it take to stop sw?
sw.Stop();
もちろん、すべてのループが次々に直接実行されても問題はありません。最初のループの最初から開始し、最後のループの最後で停止することもできますが、ここではそれができません。
質問が非常に具体的であることは承知していますが、約 5,000 万回のループからのかなりの時間が私の結果に何らかの影響を与える可能性があるため、誰かがここで私を助けてくれることを願っています.