Hacker News new | ask | show | jobs
by a1369209993 751 days ago
> Sleep(1) sleeps for approximately 1 second.

This is correct - Sleep(1) does sleep for approximately 1 second; the problem is you're confusing the 95% confidence interval (which might be as narrow as (999ms,1001ms) for some reasonable designs) with the absolute error bounds (which are (0ms,∞ms], and yes, the infinity end is inclusive).

1 comments

If your software is running on a VM, and that VM is suspended (e.g. for migration), the end of sleep could be minutes or months in future.

This is surprisingly common when running on certain VM instance types on public cloud! Common enough that I've had to account for it in production code.

The confidence interval comment still applies for any production or client environment I've ever deployed code to.

Unless you actually expect your environment to spend more than 5% of its time on average getting suspended and resumed. Maybe you work on some tooling that is scheduled to run right around migration time (for servers) or sleep/resume time (for clients).

Or you run at scale on a public cloud provider. We observe a few of these events per month.