timespec on windows compilers

2020-04-12 18:40发布

问题:

On posix it is possible to use timespec to calculate accurate time length (like seconds and milliseconds). Unfortunately I need to migrate to windows with Visual Studio compiler. The VS time.h library doesn't declare timespec so I'm looking for other options. As far as could search is it possible to use clock and time_t although I could't check how precise is counting millisecons with clock counting.

What do you do/use for calculating time elapse in a operation (if possible using standards c++ library) ?

回答1:

The function GetTickCount is usually used for that.

Also a similiar thread: C++ timing, milliseconds since last whole second



回答2:

Depends on what sort of accuracy you want, my understanding is that clock and time_t are not accurate to the millisecond level. Similarly GetTickCount() is commonly used (MS docs say accurate to 10-15ms) but not sufficiently accurate for many purposes.

I use QueryPerformanceFrequency and QueryPerformanceCounter for accurate timing measurements for performance.