C语言测量程序运行时间

187 阅读1分钟

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

结果

在这里插入图片描述