我有一个非常具体的问题,我需要回答一个非常具体的性能测试。我将简化代码,使其更易于理解。是否需要一些时间来启动和停止秒表?
我做了很多计算(几千万),都在循环中完成,它们本身不会太长,我需要总计算时间。然而,所有的计算都不是一个接一个地直接完成,而是在每个循环之间插入一些额外的代码。我所需要的,完全是所有循环的总时间(包括声明和初始化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