我想测量cpu上代码所用的时间。 (cpu时间) 但我不知道我必须使用TotalProcessTime或UserProcessTime?
有人可以通过示例向我解释它们之间的区别(3处理时间)吗? (在msdn中不是很清楚)。
答案 0 :(得分:1)
在大多数Linux和Windows操作系统中,给定程序可以以两种模式执行:内核/系统或用户。
用非常简单的术语来说:
有关Windows用户与内核模式的更多信息,请参阅 - 查看顶部注释,这也提供了一些额外的见解:
更普遍的Unix用户vs Kernal模式,这个slidehare是一个很好的资源:
回答您的原始问题:内核模式有时也称为特权模式。程序将在用户模式下花费一些时间,并在执行时花费一些时间在内核模式中(一般情况下,它将大部分时间花在用户模式上)。在每种模式下花费的时间是问题中的用户和特权时间,总时间是两次的总和。
请注意,并非所有计算机体系结构都使用这种两种模式方法。