std::chrono時間相關

#define _XTIME_NSECS_PER_TICK 100
#define _XTIME_TICKS_PER_TIME_T (long long)10000000

時鐘

  • system_clock
  • steady_clock
  • high_resolution_clock
    typedef steady_clock high_resolution_clock;

chrono::system_clock::now()
對於system_clock,其起點是epoch,即1970-01-01 00:00:00 UTC,其刻度是1個tick,也就是_XTIME_NSECS_PER_TICK納秒。
該函數的精度是1個tick,即100納秒;

steady_clock

用在需要得到時間間隔,並且這個時間間隔不會因爲修改系統時間而受影響的場景
auto tp1 = std::chrono::steady_clock::now();
//do something
auto tp2 = std::chrono::steady_clock::now();
std::cout << std::chrono::duration_caststd::chrono::microseconds(tp2 - tp1).count() << “microseconds” << std::endl;

參考:
https://www.cnblogs.com/zhongpan/p/7490657.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章