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++毫秒级计时方法的主要内容,如果未能解决你的问题,请参考以下文章

C++ 打印时间 毫秒级

iOS 毫秒倒计时列表

c++微秒级计时+对拍

VC中如何获取当前时间(精度达到毫秒级)

C中函数的毫秒精度计时 - 跨平台

毫秒级的时间处理上G的图片