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 @   头痛不头痛  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示
主题色彩