我有一個非常具體的問題,我需要回答一個非常具體的性能測試。我將簡化代碼,使其更易於理解。是否需要一些時間來啓動和停止秒錶?
我做了很多計算(幾千萬),都在循環中完成,它們本身不會太長,我需要總計算時間。然而,所有的計算都不是一個接一個地直接完成,而是在每個循環之間插入一些額外的代碼。我所需要的,完全是所有循環的總時間(包括聲明和初始化i,增加它,並與exmaple中的100進行比較)。爲了測量時間,我在每個循環之前直接啓動Stopwatch
,並在循環之後直接停止它。但是,這兩個行動需要一些可能相關的時間嗎?
例子:
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();
當然它不會真的重要,如果所有的循環中直接完成了一個又一個,我剛開始在第一循環的開始和結束時停止最後一個,但這在這裏是不可能的。
我知道這個問題很具體,但我希望有人能幫助我,因爲來自五千萬個循環的重要時間可能會影響我的結果。
感謝提到StopWatch-Stopwatch的錯字。我只是習慣使用秒錶StopWatch =新秒錶();'和某種方式使用大寫W. 到你的答案:謝謝,我曾想過這樣做,但認爲,這可能是「一個不同的情況」。然而,作爲一個檢查,我可能會運行你的代碼幾千次,並在一段時間內平均。 – phil13131