千家信息网

linux如何优雅的计算程序运行时间

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,小编给大家分享一下linux如何优雅的计算程序运行时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!优雅的计算程序运行时间
千家信息网最后更新 2025年01月21日linux如何优雅的计算程序运行时间

小编给大家分享一下linux如何优雅的计算程序运行时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

优雅的计算程序运行时间

在 Linux 下,可以通过 time 命令,很容易获取程序的运行时间:

$ time ./test
real 0m1.003s
user 0m0.000s
sys 0m0.000s

可以看到,程序的运行时间为: 1.003s。细心的同学,会看到 real 貌似不等于 user + sys,而且还远远大于,这是怎么回事呢?

先来解释下这三个参数的含义:

  • real:表示的钟表时间,也就是从程序执行到结束花费的时间;
  • user:表示运行期间,cpu 在用户空间所消耗的时间;
  • sys:表示运行期间,cpu 在内核空间所消耗的时间;

由于 usersys 只统计 cpu 消耗的时间,程序运行期间会调用 sleep 发生阻塞,也可能会等待网络或磁盘 IO,都会消耗大量时间。因此对于类似情况,real 的值就会大于其它两项之和。

另外,也会遇到 real 远远小于 user + sys 的场景,这是什么鬼情况?

这个更好理解,如果程序在多个 cpu 上并行,那么 usersys 统计时间是多个 cpu 时间,实际消耗时间 real 很可能就比其它两个之和要小了

以上是"linux如何优雅的计算程序运行时间"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0