tms_utime和tms_stime与times()函数的区别是什么?

时间:2014-04-15 21:44:32

标签: c++ cpu

tms_utimetms_stime之间有什么区别?我指的是POSIX times()使用的struct tms  功能。数据缓存时间是否包含在utime中?可以单独测量数据缓存时间吗?

PS:我正在使用Linux-Ubuntu。例如,我正在使用我的C ++程序解决一个大的稀疏线性方程组。

1 个答案:

答案 0 :(得分:3)

鉴于您正在讨论times()使用的tms_utime tms_stime成员struct tms(其中包含clock_t类型的4个元素),正如我的第一个和最后一个评论所述:

  

tms_utime元素是执行代码或C库中的代码所花费的时间。 tms_stime元素是代表您在内核中执行代码所花费的时间。 (tms_cutimetms_cstime分别是已退出的所有子进程的tms_utimetms_stime的总和 - 请参阅基本原理评论。)

“等待缓存所花费的时间”与“不等待缓存所花费的时间”之间没有时间细分。我认为缓存时间将包含在tms_stime值中,因为当数据不在缓存中时,您需要系统为您提取它。