time用于统计命令执行花费的总时间
例一:
[[email protected] usr]# time ls bin etc games include java lib lib64 libexec local sbin share src tmp real 0m0.004s user 0m0.001s sys 0m0.002s
- real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。
- user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。
- sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。
例二,比较不同算法所花费的时间差异
[email protected] test]# time for i in `seq 1111`;do count=${#i};done real 0m0.036s user 0m0.024s sys 0m0.021s [[email protected] test]# time for i in `seq 1111`;do count=`echo $i|wc -m`;done real 0m5.985s user 0m1.618s sys 0m5.729s [[email protected] test]# time for i in `seq 1111`;do count=`expr length $i`;done real 0m3.938s user 0m1.163s sys 0m3.225s
从中可以看出采用${#var}这种算法最优
输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。 real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。 user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。 sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。
来自: http://man.linuxde.net/time
时间: 2024-12-28 21:19:35