C++测试代码运行时间

方法1

头文件是time.h
C++中的计时函数是clock(),与其相关的数据类型是clock_t。
clock_t:保存时间的数据类型,为长整型数。
函数定义原型为: clock_t clock(void);

该函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN上称之为挂钟时间(wal-clock)。

#include 
using namespace std;
 
clock_t start = clock();
// do something...
clock_t end   = clock();
cout << "花费了" << (double)(end - start) / CLOCKS_PER_SEC << "秒" << endl;

方法2

采用c++11标准,编译器需要支持c++11

#include    
using namespace std;
using namespace chrono;
 
auto start = system_clock::now();
// do something...
auto end   = system_clock::now();
auto duration = duration_cast(end - start);
cout <<  "花费了" 
     << double(duration.count()) * microseconds::period::num / microseconds::period::den 
     << "秒" << endl;

此方法可以精确到微秒,输出样例:花费了0.123456秒

关键词 auto 是一个“自动类型”,可以理解成“万能类型”.
system_clock 是 C++11 提供的一个 clock。除此之外,还有两个clock:steady_clock 和 high_resolution_clock
now( ) 表示计时的那“一瞬间”
duration_cast< > 表示类型转换
microseconds 表示微秒。除此之外,还有五种时间单位:hours, minutes, seconds, milliseconds, nanoseconds
num 和 den分别表示分子(numerator)和分母(denominator)。在代码中,num等于1, den等于1,000,000
count( ) 用来返回时间

参考

1.CSDN: C++ 学习系列(一)测试程序运行时间—clock()
2.CSDN: C++11 新的计时方法——std::chrono 大法好

你可能感兴趣的:(C++测试代码运行时间)