gpt4 book ai didi

c - 如何测量 Linux 下 C 程序的实际执行时间?

转载 作者:IT王子 更新时间:2023-10-29 00:16:01 28 4
gpt4 key购买 nike

我知道这个问题以前可能经常被问到,但似乎大多数问题都是关于一 block 的已用时间(基于挂钟)代码。一段代码的已用时间不太可能等于实际执行时间,因为其他进程可能在感兴趣的代码的已用时间内执行。

我用getrusage()获取了一个进程的用户时间和系统时间,然后通过(用户时间+系统时间)计算出实际执行时间。我在 Ubuntu 上运行我的程序。这是我的问题:

  1. 我如何知道 getrusage() 的精度?
  2. 是否有其他方法可以提供比 getrusage() 更高的精度?

最佳答案

您可以使用 CPU Time 查看 Linux 上进程的实际 CPU 时间。内核的功能:

 #include <time.h>

clock_t start, end;
double cpu_time_used;

start = clock();
... /* Do the work. */
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;

来源:http://www.gnu.org/s/hello/manual/libc/CPU-Time.html#CPU-Time

这样,您就可以计算 CPU 滴答或 CPU 在进程上处理的实际指令量,从而获得实际的工作时间。

关于c - 如何测量 Linux 下 C 程序的实际执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215764/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com