解读Unix中程序的文字运行时间

时间:2015-03-07 22:01:07

标签: c unix runtime

我使用以下命令运行了一个C程序(table.c):

time table

给我运行时间,我得到了:

0.104u   1.179s   0:01.31   96.9%      0+0k 0+48io 0pf+0w

我有几个问题:

Q1:这一切意味着什么?

Q2:为什么每次执行程序时这些数字都会改变?

1 个答案:

答案 0 :(得分:1)

  

Q1:这一切意味着什么?

第一个值(u)是您的程序在用户上下文中花费的时间。这意味着您的代码花了多长时间才能运行。

第二个值(s)是您的程序在 system 上下文中花费的时间。这意味着,在程序执行期间,它在内核中花费了多长时间,处理程序所进行的系统调用。

第三个值是程序运行的总时间,包括用户系统睡眠,但未显示

我相信如果你做数学运算,你会看到你的程序正在运行(而不是睡觉),从开始到96.9%的时间,直到它结束了。

  

Q2:为什么每次执行程序时这些数字都会改变?

因为您运行的是真正的桌面系统,具有抢占式操作系统,还运行其他程序,并处理外部事件,如硬盘活动和网络流量。您不可能期望程序每次都与完全相同的时间运行。 1

1 - 对于经常在嵌入式系统中使用的专门设计的“实时操作系统”,情况并非如此。汽车。