小编给大家分享一下linux如何优雅的计算程序运行时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
优雅的计算程序运行时间
在 Linux 下,可以通过 time
命令,很容易获取程序的运行时间:
$ time ./test
real 0m1.003s
user 0m0.000s
sys 0m0.000s
可以看到,程序的运行时间为: 1.003s
。细心的同学,会看到 real
貌似不等于 user
+ sys
,而且还远远大于,这是怎么回事呢?
先来解释下这三个参数的含义:
real
:表示的钟表时间,也就是从程序执行到结束花费的时间;user
:表示运行期间,cpu 在用户空间所消耗的时间;sys
:表示运行期间,cpu 在内核空间所消耗的时间;由于 user
和 sys
只统计 cpu 消耗的时间,程序运行期间会调用 sleep 发生阻塞,也可能会等待网络或磁盘 IO,都会消耗大量时间。因此对于类似情况,real
的值就会大于其它两项之和。
另外,也会遇到 real
远远小于 user
+ sys
的场景,这是什么鬼情况?
这个更好理解,如果程序在多个 cpu 上并行,那么 user
和 sys
统计时间是多个 cpu 时间,实际消耗时间 real
很可能就比其它两个之和要小了
以上是“linux如何优雅的计算程序运行时间”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。