计算C函数的运行时间

时间:2013-07-22 20:41:23

标签: c coding-style procedures

我正在研究用C编写的服务器程序,该程序是作为程序(非OO)代码编写的。每个方法都实现了一些特定功能 出于诊断目的,我想将代码添加到一堆方法中,这些方法将计算和打印相应功能的运行时间。 它在Linux上,我知道如何计算运行时间。

我的问题是什么是最好,最有效的编码方式?

因为它是用C编写的过程代码,我将不得不为所有(约20个)函数添加代码,用于定时器启动,定时器结束和计算差异。还有比这更好的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用外部探查器工具满足此需求。 gprof是众所周知的标准工具。这是一个简单的使用示例:

$ gcc -pg a.c -o a
$ ./a
$ gprof

此工具显示每个功能的总运行时间(绝对值和百分比)。

但是,如果您在运行时需要此信息,这几乎是无用的。

答案 1 :(得分:0)

#include<time.h>
.
.
.
clock_t start, end, total;
start = clock();
.
.
.
end = clock();
total = (double) (start - end) / CLOCKS_PER_SEC;

这将为您提供以秒为单位的执行时间。您甚至可以将其放入宏中并将其包装在函数周围。