当前位置: 技术问答>linux和unix
程序计时?
来源: 互联网 发布时间:2017-01-07
本文导语: 本帖最后由 edwardjack 于 2011-10-15 19:43:14 编辑 real 1m10.973s user 3m38.372s sys 0m0.665s 用的 time ./a.out 想比较程序运行时间 为什么real time居然比用户时间还少? real time 应该大于后两者吧? 并行程序和顺序的程序是不是...
user 3m38.372s
sys 0m0.665s
用的 time ./a.out
想比较程序运行时间
为什么real time居然比用户时间还少?
real time 应该大于后两者吧?
并行程序和顺序的程序是不是只需要比较sys time? 那个是cpu时间啊?
求教
|
user --- 用户空间执行代码CPU所耗费时间
sys --- 内核代表进程执行代码CPU所耗费时间
real --- 程序从执行到终止所消耗的
如果是在单个CPU当中,它们是相等的。但是若是在多个CPU当中,程序有多个线程,那就会在多个CPU当中执行(如何执行,那是操作系统的事情了。)所消耗的CPU时间肯定是多了吧?所以你这种情况是很正常的。
CPU时间就是user time + sys time
对应结构struct tms当中的tms_utime + tms_stime
sys --- 内核代表进程执行代码CPU所耗费时间
real --- 程序从执行到终止所消耗的
如果是在单个CPU当中,它们是相等的。但是若是在多个CPU当中,程序有多个线程,那就会在多个CPU当中执行(如何执行,那是操作系统的事情了。)所消耗的CPU时间肯定是多了吧?所以你这种情况是很正常的。
CPU时间就是user time + sys time
对应结构struct tms当中的tms_utime + tms_stime