#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;