我试图找出我的代码的性能,但我不明白time命令的输出,任何人都可以解释时间命令输出的含义.
以下是我得到的:
time ./filereader
real 0m0.193s
user 0m0.012s
sys 0m0.056s
Run Code Online (Sandbox Code Playgroud)
什么是real,user,sys?
Nin*_*Cat 45
来自:http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html
实际是指实际经过的时间; User和Sys指的是仅由进程使用的CPU时间.
- 真实是挂钟时间 - 从通话开始到结束的时间.这是所有经过的时间,包括其他进程使用的时间片和进程花费的时间(例如,如果它等待I/O完成).
- 用户是进程内用户模式代码(内核外)花费的CPU时间.这只是执行过程时使用的实际CPU时间.流程花费的其他流程和时间不计入此数字.
- Sys是进程内核中花费的CPU时间.这意味着执行内核中系统调用所花费的CPU时间,而不是仍在用户空间中运行的库代码.与'user'一样,这只是进程使用的CPU时间.
zeb*_*h49 11
'real'是它花费的时钟量.如果你用秒表计时,那就是你得到的.
'user'是进程本身使用的CPU时间量.
'sys'是内核代表进程花费的CPU时间.