यह लेख फ़ायरफ़ॉक्स, सफ़ारी, और ओपेरा और भूखंडों प्रदर्शन ग्राफ़ के परीक्षण:
http://ejohn.org/blog/analyzing-timer-performance/
फ़ायरफ़ॉक्स 2, ओपेरा, और सफारी सभी देरी
के लिए 10ms के नीचे खिड़की है
पुराने ब्राउज़रों के लिए, आप उस लेख में से एक की तरह परीक्षण कर सकते हैं। मैंने अभी परीक्षण किया है कि आईई 6 में 10 एमएमएस अंतराल का उपयोग करके setInterval
के कुछ समय पहले, और मुझे औसत 55ms मिला। setTimeout
35ms पर कम दिखता है।
मैंने क्रोमियम में परीक्षण चलाया और ~ 11ms औसत 10ms टाइमआउट के लिए औसत मिला। मैंने इसे 4 एमएमएस और 1 एमएस अंतराल के साथ करने की कोशिश की और दोनों के लिए ~ 4.5ms मिला। साथ ही, ध्यान रखें कि ऑपरेटिंग सिस्टम के बीच संख्या भिन्न हो सकती है।
यदि आप रुचि रखते हैं, तो यहां परीक्षण कोड है:
<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>
[एमडीएन देखें]] (https://developer.mozilla.org/en/DOM/window.setTimeout#Minimum_delay_and_timeout_nesting)। हालांकि आप निर्दिष्ट करते समय कभी भी भरोसेमंद नहीं होते हैं। – pimvdb
आप हमेशा एक परीक्षा लिख सकते हैं ... –
@BradChristie आप यूनिटटेस्ट जावास्क्रिप्ट कोड कैसे करते हैं? TDD? – InspiredJW