2012-04-20 56 views
1

我无法理解os.times()的文档。 From http://docs.python.org/library/os.htmlos.times()in Python CGI应用程序

返回一个浮点数的5元组,表示累计(处理器或其他)时间,以秒为单位。这些项目是:用户时间,系统时间,儿童用户时间,儿童系统时间以及自过去的固定点开始的已用实时时间。请参阅Unix手册页次(2)或相应的Windows平台API文档。在Windows上,只有前两项填充,其他则为零。

查找命令中的任何其他资源似乎有点具有挑战性。

假设每个CGI调用产生一个新的python进程:os.times()的下列结果的前两个值实际上告诉我什么?如果我利用它们,我究竟在测量什么?

(0.2184014, 0.17160109999999998, 0.0, 0.0, 0.0)

回答

1

他们会告诉你有多少处理器时间(而不是时间等待I/O操作数)中的程序代码已经花(即Python解释器)和操作系统内核代码(即处理系统调用作出由python解释器)分别通过这个过程到目前为止。

文档中提及的times(2) man page以及time(7) man page中有一些更多的细节。

+0

所以。处理时间=用户时间+系统时间?不包括I/O操作时间? – 2012-04-20 13:10:51

+0

处理器时间=用户时间+系统时间。不包括I/O操作时间,因此通常小于“挂钟”耗用时间,尽管在多核系统上它也可以更多,因为所有CPU的周期加在一起。 – slowdog 2012-04-20 15:27:42