Home » Javascript » JavaScript alert() advancing system time by 12ms

JavaScript alert() advancing system time by 12ms

Posted by: admin February 12, 2018 Leave a comment

Questions:

Here’s a strange one:

I was working on synchronizing a JavaScript timer with a remote server and noticed my timer (based on the Date() object) was gaining about 12ms relative to my remote server on each page refresh. I narrowed it down to the JavaScript alert() function.

I created the following test and verified with 2 synchronized clocks that my system time will advance 1 second every 83-84 page refreshes. Has anybody seen this before?

<html>
<head>
</head>
<body>
<script type="text/javascript">
  alert('hello');
</script>
</body>
</html>

I’m using IE7 on XP SP3. Please tell me I’m not just going crazy!


EDIT:

I’m really not concerned about the accuracy of javascript timers. The real issue is that the JavaScript alert() function call is advancing my actual system time by 12ms.

Answers:

Well,

most likely you are crazy, since you are counting on JavaScript timers to be precise.

This explains a lot of that: http://ejohn.org/blog/accuracy-of-javascript-time/