4 ms·
Seems like the monotonic time changes mean that some calls (e.g. time.Now()) are making two syscalls where they used to only make one? And storing two differen
by YZF 9y ago
Seems like the monotonic time changes mean that some calls (e.g. time.Now()) are making two syscalls where they used to only make one? And storing two different clock values? Could make code that makes a lot of timing calls more expensive/slow...
- bradfitz 9y agoThe size of the time.Time data structure is unchanged on 64-bit. There was space to pack it in. As for time, on Linux it got 70 ns slower. Tolerable. (It went from 70 ns to 140 ns on my GCE VM) On Windows, it actually got faster on 64-bit with the addition of: https://github.com/golang/go/commit/e4371fb179ad69cbd057f2430120843948e09f2f https://github.com/golang/go/commit/e4371fb179ad69cbd057f243... And on macOS, where nobody runs servers, it's basically unchanged speed-wise.
- YZF 9y agoCool. I've just been instrumenting some fairly hot Go code with time.Now/Since all over the place trying to pinpoint some lost milliseconds ... I was planning to keep the instrumentation in there for monitoring... Sounds like it shouldn't be a problem.
- fpoling 9y agoOn Linux there are no syscalls for time as the time is deduced from values in a read-only page that is provided by kernel.
- deleted 9y ago[deleted]