On Tue, May 3, 2011 at 7:10 PM, Levente Uzonyi
<leves@elte.hu> wrote:
On Tue, 3 May 2011, Eliot Miranda wrote:
Its because on linux & mac the clock is derived from gettimeofday which is
wall time but on Windows it is derived from timeGetTime which isn't. The problem is the lack of a high-resolution wall time on Windows. GetSystemTimeAsFileTime et al have something like 16 ms resolution whereas timeGetTime has 1ms resolution.
On vista the accuracy of GetLocalTime (which is a "friend" of
GetSystemTimeAsFileTime) seems to be 1ms.
Good. Time to change. I'll test this on XP soon.
E.g.:
s := Set new.
[ s size < 10 ] whileTrue: [ s add: Win32SystemTime localDateAndTime ].
s sorted
Output:
{2011-05-04T04:03:40.049+02:00 . 2011-05-04T04:03:40.05+02:00 . 2011-05-04T04:03:40.051+02:00 . 2011-05-04T04:03:40.052+02:00 . 2011-05-04T04:03:40.053+02:00 . 2011-05-04T04:03:40.054+02:00 . 2011-05-04T04:03:40.055+02:00 . 2011-05-04T04:03:40.056+02:00 . 2011-05-04T04:03:40.057+02:00 . 2011-05-04T04:03:40.058+02:00}
Levente