4 ms·
66 days + 12 hours are 5,745,600,000,000,000 ns. The log2 of this is 52.351... Javascript and some other languages only have integer precision up to 52 bits t
by themafia 9mo ago
66 days + 12 hours are 5,745,600,000,000,000 ns. The log2 of this is 52.351...
Javascript and some other languages only have integer precision up to 52 bits then they switch to floating point.
Curious.
- loeg 9mo agoIt's 32 bits of milliseconds, right? Hm, no, that would overflow much sooner (49.7 days).
- oasisaimlessly 9mo agoIt's a uint32_t of 750 Hz "jiffies", which does overflow at ~66 days.
- userbinator 9mo agoWhile that seems like a convincing explanation, 750Hz is a rather odd value to use for a timer, and more importantly the overflow would be at 66d6h43m43s instead of the reported ~66d12h.
- fc417fc802 9mo ago66 days 12 hours would put it at 747.5 Hz. A different report had 66 days 10 hours 16 minutes which works out to 748 Hz. Maybe the clock was just feeling a little sluggish? /s
- i_am_proteus 9mo agoIt is indeed the explanation: https://github.com/NVIDIA/open-gpu-kernel-modules/pull/1014 https://github.com/NVIDIA/open-gpu-kernel-modules/pull/1014
- loeg 9mo agoWild.
- loegta3 9mo agoBingo! Someone decided to store timestamps in float64 which has 52 bit mantissa, and the time functions break when losing precision.