C语言测量程序运行时间

⌚Time: 2022-11-24 18:40:59

👨‍💻Author: Jack Ge

有时候希望得到运行某个模块的具体用时,如何实现呢

clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:


clock_t clock(void) ;

简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。

每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间。

所需头文件time.h

测试插入数据库10000条数据所用时间,测试代码


    time_t startTime,endTime;

    startTime = clock();

    for(int i=0;i<10000;i++){

        mysql_query(&sql, chRun);

    }

    endTime = clock();

    double totalTime = (double)(endTime-startTime)/CLOCKS_PER_SEC;

    CString strTime;

    strTime.Format(L"测试结果:\n插入数据数量:10000条\n用时:%f秒",totalTime);

    MessageBox(strTime);

结果