gpt4 book ai didi

c - 如何测量C中循环中几个函数的执行时间

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:53 24 4
gpt4 key购买 nike

我希望找到一种方法来测量C中一个for循环中几个函数的执行时间。例如,有这样的代码:

for(;;)
{
func1();
func2();
func3();
}

我想知道程序在 func1()(或 func2、func3)上总共花费了多少时间。

我知道我可以使用 clock() 来测量时间。但是,在这种情况下,如果我编写如下代码:

for(;;)
{
a = clock();
func1();
b = clock();
time_func1 += (b-a);
a = clock();
func2();
b = clock();
time_func2 += (b-a);
a = clock();
func3();
b = clock();
time_func3 += (b-a);
}

看起来太笨了,结果也不准确。

最佳答案

如果您使用的是 Linux,我建议您使用 clock_gettime .这使得能够使用多个时钟进行精确的时间测量,并且具有高分辨率。 clock 本身的分辨率很低。

也许关于它的用途的一句话:

timespec t1, t2;

clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t1);
/* CODE TO BE MEASURED */
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t2);

关于c - 如何测量C中循环中几个函数的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20947327/

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