Linux之C++毫秒级计时方法
Posted ZONG_XP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之C++毫秒级计时方法相关的知识,希望对你有一定的参考价值。
C++11 提供的标准的”最佳计时方法“的代码
参考:std::chrono::duration_cast - cppreference.com
#include <iostream>
#include <chrono>
void f()
std::this_thread::sleep_for(std::chrono::seconds(1));
int main()
auto t1 = std::chrono::high_resolution_clock::now();
f();
auto t2 = std::chrono::high_resolution_clock::now();
// 浮点持续时间:不需要 duration_cast
std::chrono::duration<double, std::milli> fp_ms = t2 - t1;
// 整数持续时间:需要 duration_cast
auto int_ms = std::chrono::duration_cast<std::chrono::milliseconds>(t2 - t1);
// 将整数持续时间转换为更短时间单位的整数持续时间:
// 不需要 duration_cast
std::chrono::duration<long, std::micro> int_usec = int_ms;
std::cout << "f() took " << fp_ms.count() << " ms, "
<< "or " << int_ms.count() << " whole milliseconds "
<< "(which is " << int_usec.count() << " whole microseconds)" << std::endl;
以上是关于Linux之C++毫秒级计时方法的主要内容,如果未能解决你的问题,请参考以下文章