有时候希望得到运行某个模块的具体用时,如何实现呢
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);
结果