在C / C ++中以高精度测量执行时间
要创建高精度计时器,我们可以使用chrono库。该库具有高分辨率时钟。这可以以纳秒为单位。
在此程序中,我们将看到执行时间(以纳秒为单位)。我们将首先获取时间值,最后获取另一个时间值,然后求出差值以获取经过的时间。在这里,我们使用空白循环有时会暂停效果。
示例
#include <iostream> #include <chrono> typedef std::chrono::high_resolution_clock Clock; main() { auto start_time = Clock::now(); for(int i = 0; i<200000000; i++ ){ //create one empty loop ; } auto end_time = Clock::now(); std::cout << "Time difference: " << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time - start_time).count() << " nanoseconds" << std::endl; }
输出结果
Time difference: 536395307 nanoseconds