tms_utime
和tms_stime
之间有什么区别?我指的是POSIX times()
使用的struct tms
功能。数据缓存时间是否包含在utime
中?可以单独测量数据缓存时间吗?
PS:我正在使用Linux-Ubuntu。例如,我正在使用我的C ++程序解决一个大的稀疏线性方程组。
答案 0 :(得分:3)
鉴于您正在讨论times()
使用的tms_utime
tms_stime
成员struct tms
(其中包含clock_t
类型的4个元素),正如我的第一个和最后一个评论所述:
tms_utime
元素是执行代码或C库中的代码所花费的时间。tms_stime
元素是代表您在内核中执行代码所花费的时间。 (tms_cutime
和tms_cstime
分别是已退出的所有子进程的tms_utime
和tms_stime
的总和 - 请参阅基本原理评论。)
“等待缓存所花费的时间”与“不等待缓存所花费的时间”之间没有时间细分。我认为缓存时间将包含在tms_stime
值中,因为当数据不在缓存中时,您需要系统为您提取它。