我们正在用GridEngine运行计算作业。 每个工作返回3次不同的时间:
这三者之间有什么区别? 这三个中哪一个最适合比较两个应用程序/脚本的性能
挂钟时间是执行工作所花费的实际时间。 这相当于使用秒表来计时工作,并且完成任务的测量时间可能会受到系统当时正在执行的任何其他操作的影响。
用户时间测量CPU运行代码的时间量。 这不会计算任何可能正在运行的内容,也不会计算在内核中花费的CPU时间(如文件I / O)。
CPU时间测量CPU运行代码或代码所请求的任何内容的总时间。 这包括内核时间。
“用户时间”测量可能是最适合测量不同作业的性能,因为它将受到系统上发生的其他事情的影响最小。
维基百科:
“用户CPU时间”这个术语起初可能有些误导。 要清除总时间(实际CPU时间),是CPU花费在程序上执行某些操作的时间量和CPU代表程序执行系统内核调用的时间量的组合。 当一个程序在一个数组中循环时,它正在累积用户的CPU时间。 相反,当一个程序执行一个系统调用,如exec或fork,它正在累积系统CPU时间
挂钟时间是计算机完成任务所需的实际时间。 它是三个术语的总和:CPU时间,I / O时间和通信通道延迟(例如,如果数据分散在多台机器上)。 与仅测量处理器正在执行某项任务的时间的CPU时间相反,壁挂时间测量完成该过程的总时间。 两者之间的差异包括由于编程延迟或等待资源变得可用而经过的时间。