Previous  Top  Next

Windows Time Client

High Resolution Time

The typical precision of the GetSystemTime Win32 API call is approximately 10 milliseconds on variants of the Windows NT platform which includes Windows 2000, Windows XP and Windows 2003. Older variants of Micrsoft Windows, including Windows 95, Windows 98 and Windows ME offer a precision of approximately 50ms using the GetSystemTime API call. It is important to note that time critical applications which call time functions in rapid succession in order to measure the elapsed time of a task, for example, may in fact prompt a degradation of the quality of time readings. Typical time readings on Microsoft Windows are shown below :

Windows system time GetSystemTime()

Granularity: 100 nanoseconds
Precision: approximately 10 milliseconds
(Approximately 55ms on Windows 95/98/ME, 15ms on Windows NT 3.1.)
(Presently reported as 10.0144 milliseconds.)
Apparent precision: 2.4956616925708e-006 seconds
Apparent jitter: 2.99319765900016e-007 seconds

Windows system time in file time GetSystemTimeAsFileTime()

Granularity: 100 nanoseconds
Precision: Same as system time
Apparent precision: 2.40253998762413e-006 seconds
Apparent jitter: 1.59637208480008e-007 seconds

Windows tick counter GetTickCount()

Granularity: 1 millisecond
Precision: Same as system time
Apparent precision: 2.4956616925708e-006 seconds
Apparent jitter: 2.39455812720012e-007 seconds

Windows Multimedia Timer timeGetTime()

Granularity: 1 millisecond
Precision: 1 millisecond
Apparent precision: 2.32804262366679e-006 seconds
Apparent jitter: 1.19727906360006e-007 seconds

Legend:

Accuracy :        A clock's ability to maintain true time
Granularity:        The smallest unit of time a clock is able to represent
Precision:        The smallest difference in time successive readings can measure
Jitter:            The variation in timing samples


Bytefusion can provide an API which introduces functions to read time with microsecond granularity and precision on Microsoft Windows. The API is available as a DLL on a per product or per company royalty free basis. Contact sales@bytefusion.com for details and pricing.