我们要使用的clock_t clock() CLOCKS_PER_SEC 这三个都是在 ctime(在C里应该引用time.h这个头文件) 这个头文件里,所以要包含一下这个头文件。
clock_t 在源代码中我们可以看到,它的类型为长整形(long)。
clock()函数返回程序执行起(一般为程序的开头),处理器时钟所使用的时间(ms)。
CLOCKS_PER_SEC数值上等于 1000
为了获取 CPU 所使用的秒数,需要除以 CLOCKS_PER_SEC。
定义个开始时间和结束时间,要测试的程序就放在这两段代码中间。
double(endTime - startTime) / CLOCKS_PER_SEC 得到的就是程序运行的秒数。
注意:
如果程序运行时间连一毫秒都不要,那么最后显示的结果是 0s.
测试代码如下:
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
int arr[100000];
clock_t startTime = clock();
for (int i = 0; i < 100000; i++)
arr[i] = i;
for (int i = 0; i < 99999; i++)
swap(arr[i], arr[i + 1]);
clock_t endTime = clock();
cout << "整个程序用时:" << double(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;
system("pause");
return 0;
}
运行结果: