C语言:获取程序运行消耗的时间(gettimeofday)

C语言:获取程序运行消耗的时间(gettimeofday)

247
247
2023-05-08 / 0 评论 / 362 阅读 / 正在检测是否收录...

对于普通的C程序:

#include<stdio.h>
#include<sys/time.h> //注意引用这个头文件
#include<unistd.h>

int delay(int time)
{
//这里用来表示你自己要运行的程序
}

int main()
{
    //定义两个结构体,来记录开始和结束时间
        struct  timeval start;
        struct  timeval end;
        //记录两个时间差
        unsigned  long diff;

        //第一次获取时间,即表示开始记时
        gettimeofday(&start,NULL);

        //运行自己的程序
        delay(10);

        //第二次获取时间,即表示结束记时
        gettimeofday(&end,NULL);

        //计算时间差,并打印
        diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
        printf(“thedifference is %ld\n”,diff);

        return 0;
}

对于内核模块的C程序

#include<stdio.h>

//注意引用这个头文件
#include<linux/time.h> 

#include<unistd.h>

int delay(int time)
{
//这里用来表示你自己要运行的程序
}

int main()
{
    //定义两个结构体,来记录开始和结束时间
        struct  timeval start;
        struct  timeval end;
        //记录两个时间差
        unsigned  long diff;

        //第一次获取时间,即表示开始记时
        do_gettimeofday(&start,NULL);

        //运行自己的程序
        delay(10);

        //第二次获取时间,即表示结束记时
        do_gettimeofday(&end,NULL);

        //计算时间差,并打印
        diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
        printf(“thedifference is %ld\n”,diff);

        return 0;
}
0

评论 (0)

取消