首页 文章

令人费解的时间命令输出

提问于
浏览
2

我正在尝试对我的一个脚本的运行时间进行基准测试 . 我得到以下输出

#time ./foo.py
real    0m37.883s
user    1m0.648s
sys     0m4.680s
#

在内部,foo会生成多个其他进程并等待直到所有进程都死掉 . 从这个thread以及我之前对实际,用户和系统时间的理解,我认为实时至少等于用户时间 . 这是因为实时是从开始到结束所经过的所有时间(还包括其他进程使用的时间片) . 而用户时间只包括在流程中用户模式代码中花费的CPU时间 . 那么用户时间如何大于实时?是因为某种程度上所有子进程的用户时间都被添加了?

1 回答

  • 2

    实时有时被称为挂钟时间 . 这是执行程序期间经过的时间 . 如果代码是多线程的,那么用户时间可以是实时的多倍,因为它听起来像你的代码 . 是的,它基本上是为线程增加了用户时间;类似的推理适用于系统时间 .

相关问题