There are three implementations std::chrono::high_resolution_clockthat I know of: Visual Studio, gcc, and clang (when used with libC ++).
All three of them have nanosecond accuracy ( std::chrono::high_resolution_clock::period::num = 1). For VS and libC ++ high_resolution_clockis of type-aliased up to steady_clock. On gcc, it is flattened with type system_clock.
, std::chrono::high_resolution_clock::period::num != 1, , 1 "". :
seconds high_resolution_clock::duration.
, seconds, high_resolution_clock::duration, :
using CT = common_type_t<seconds, high_resolution_clock::duration>;
, , CT nanoseconds.