c - 如何测量计算时间

标签 c time

在我的家庭作业中,我应该测量不同算法的计算时间。我得到了以下函数“beginTime”和“endTime”来完成它。但是,当我将它们与我的算法一起编译时,编译器显示“开始”和“停止”未定义。但是我不知道如何定义它们(它们应该是什么类型),以及如何使“endTime”中的“start”引用“beginTime”中的“start”。我该如何解决?另外,如何打印返回值?

 void
beginTime ()
{
gettimeofday (&start, 0);
}

float
endTime ()
{
gettimeofday (&stop, 0);

double begin = (double) start.tv_sec + (double) (start.tv_usec / 1.E6);

double end = (double) stop.tv_sec + (double) (stop.tv_usec / 1.E6);

return end - begin;
}

最佳答案

如果您查找函数 gettimeofday ,您会看到它需要 struct timeval。您的代码应如下所示:

#include <sys/time.h>

static struct timeval start, stop;

void beginTime()
{
    gettimeofday (&start, 0);
}

float endTime()
{
    gettimeofday (&stop, 0);
    double begin = (double) start.tv_sec + (double) (start.tv_usec / 1.E6);
    double end = (double) stop.tv_sec + (double) (stop.tv_usec / 1.E6);
    return end - begin;
}

关于c - 如何测量计算时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897371/

相关文章:

c - Arduino + RN-42 蓝牙模块 HID

postgresql - 将laSTLogin保存在表中

go - 当我使用`golang.org/x/time` NewLimiter()时,限制更高的突发,Allow()将返回真正更高的突发

javascript - 自页面加载后的 JQuery Clock/Timer(即使用户更改其计算机上的时间)

c++ - #define 指令内存存储

c - C 中没有任何空叶的树

r - 链接 R 中同一时间窗口内发生的值

vba - Excel SUM 公式在 VBA 数小时内不起作用

c - 编写一个函数来分割字符串

c - 使用程序的输出作为同一程序的输入