这里主要是在ubuntu系统中编写c/c++应用, 编译器选择gcc
关于clock()函数
这个函数返回从当前程序开始运行到调用函数所经历的clock tick数量, 需要添加time.h头文件, 需要注意的是这个函数在单进程程序中计算的时间比较准确, 在计算多线程应用每个线程执行时间时, 经过试验, 会对多核心并行始终做累加,致使打印时间被看成程序是串行执行的, 此外应用的sleep函数延时时间不会产生clock tick所以使用该函数计算的程序执行时间也不包含sleep睡眠时间.
在使用这个函数的使用要配合宏CLOCKS_PER_SEC使用, 示例如下
#include <time.h>
clock_t start =0, finish = 0;
start = clock();
...(程序执行代码)
finish = clock();
cout << "total time: " << (double)(finish - start)/CLOCKS_PER_SEC << endl;
关于gettimeofday函数
这个函数记录的是系统时钟, 能够将多线程应用执行时间进行分开计算, 时间精度微妙级,使用时添加sys/time.h, stdlib.h, unistd.h头文件, 函数定义为int gettimeofday(struct timeval *tv, struct timezone *tz);