<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 22, 2016 at 12:51 PM, Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":10u" class="a3s" style="overflow:hidden">I get the same effect irrespective of the sleep interval if I sleep for 100 ms<br>
then the wake-up still can be still 6ms later than the requested time ...</div></blockquote></div><br></div><div class="gmail_extra">Sleeping for 100ms is ages in modern computers, so it would not surprise me one bit that you ended up going to sleep to save power in that time frame.<br><br></div><div class="gmail_extra">The Erlang VM has a compatibility layer plugging into the underlying operating system. You would be surprised over how different they are and what they support at the lowest level. And what the "correct means of operation" is on system A might be a really bad idea on system B. <br><br></div><div class="gmail_extra">The right way to figure out what is happening is dtrace(1) and plugging into the timer wheel to figure out what is happening at that level. Either you are getting the message too late from the kernel, or you end up doing something weird inside Erlang as a VM.<br><br></div><div class="gmail_extra">-- <br><div class="gmail_signature">J.</div>
</div></div>