В этой статье тестируются Firefox, Safari и Opera, а также отображаются графики производительности:
http://ejohn.org/blog/analyzing-timer-performance/
Firefox 2, Opera и Safari имеют нижнее окно 10 мс для задержек
Для старых браузеров вы можете выполнить тест, подобный тому, который описан в этой статье. Я только что выполнил тест, который у меня был недавно setInterval
с использованием интервала 10 мс в IE6, и я получил среднее значение 55 мс . setTimeout
кажется ниже на 35 мс .
Я провел тест в Chromium и получил среднее значение ~ 11 мс за 10 мс. Я попробовал это с интервалами 4 мс и 1 мс и получил ~ 4,5 мс для обоих. Кроме того, имейте в виду, что цифры могут отличаться для разных операционных систем.
Если вам интересно, вот код теста:
<script>
// number of times to call setTimeout before calculating average
var ITERATIONS = 200;
window.onload = function()
{
testTimeout(10, +new Date, 0, 0);
}
// calls setTimeout repeatedly at a specified interval, tracking the amount
// of time that passes between successive calls
function testTimeout(interval, last, sum, ii)
{
var time = +new Date;
var difference = time - last;
sum += difference;
if (ii % ITERATIONS == 1)
{
document.body.innerHTML = sum / ITERATIONS;
sum = 0;
}
window.setTimeout(
function() {
testTimeout(interval, time, sum, ii + 1)
}, interval);
}
</script>