Timer resolution test
by rgrove
HTML
<strong>Average setTimeout resolution:</strong>
<span id="result"></span>ms
JavaScript
var count = 0,
result = document.getElementById('result'),
total = 0,
lastTime;
setTimeout(log, 0);
setInterval(render, 1000);
function log() {
setTimeout(log, 0);
var time = new Date().getTime();
if (lastTime) {
count += 1;
total += (time - lastTime);
}
lastTime = time;
}
function render() {
result.innerHTML = Math.round(total / count);
}