On Windows returned value is really a double (with fractions). [`uptime = (double) (object_type->PerfTime.QuadPart - value) / (double) object_type->PerfFreq.QuadPart;`](https://github.com/libuv/libuv/blob/v1.x/src/win/util.c#L577) On others it's an integer (upcast to double): ``` struct timespec time_t tv_sec Seconds. long tv_nsec Nanoseconds. ``` [`*uptime = now.tv_sec;`](https://github.com/libuv/libuv/blob/v1.x/src/unix/linux-core.c#L601)