Loading

Linux命令之乐--time

time用于统计命令执行花费的总时间

 

例一:

[root@Director 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时间。

例二,比较不同算法所花费的时间差异

root@Director test]# time for i in `seq 1111`;do count=${#i};done

real    0m0.036s
user    0m0.024s
sys    0m0.021s
[root@Director test]# time for i in `seq 1111`;do count=`echo $i|wc -m`;done

real    0m5.985s
user    0m1.618s
sys    0m5.729s

[root@Director 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
posted @ 2016-08-06 23:15  头痛不头痛  阅读(240)  评论(0)    收藏  举报