为什么UserProcessorTime不为相同的执行提供相同的值

时间:2015-04-20 13:13:36

标签: c# .net performance process measurement

我只测量一个方法的cpu时间,但它给了我不同的时间原因?

 for (int i = 0; i < 10; i++){
TimeSpan start = Process.GetCurrentProcess().UserProcessorTime;
testFunction(100000);
TimeSpan end = Process.GetCurrentProcess().UserProcessorTime;
Console.WriteLine(end-start);
}

1 个答案:

答案 0 :(得分:1)

函数执行时间取决于很多事情:当前运行进程的数量(可以在循环执行期间更改),进程的优先级(我知道也可以更改),函数执行期间的操作系统中断,RAM(例如RAM页面错误)等。如果执行时间稍有不同,那就不奇怪。