- कोड के परफॉर्मेंस को सटीकता से मापने के लिए बनाया गया 10KB से छोटे आकार का अल्ट्रा-लाइट JavaScript बेन्चमार्किंग टूल
- Web API आधारित तरीके से काम करता है और
process.hrtime या performance.now का उपयोग करके सटीक टाइमिंग मापन का समर्थन देता है
- Node.js, Deno, Bun आदि कई JavaScript रनटाइम वातावरणों में चलाया जा सकता है
- सांख्यिकीय विश्लेषण फीचर उपलब्ध: औसत, मानक विचलन, त्रुटि सीमा, वैरियंस, पर्सेंटाइल आदि से latency (विलंब) और throughput (थ्रूपुट) की गणना का समर्थन
- Concurrency रन मोड:
task या bench स्तर पर समानांतर रन संभव, threshold विकल्प से अधिकतम समानांतर रन की संख्या नियंत्रित
- इवेंट-आधारित संरचना होने के कारण एक्सटेंड करने योग्य:
Bench और Task क्लासें EventTarget को विरासत में लेती हैं, और cycle, abort जैसे इवेंट लिसनर जोड़ने की सुविधा देती हैं
- Async function का automatic detection:
AsyncFunction या Promise रिटर्न होता है या नहीं, इसकी जाँच कर स्वतः async mode सेट होता है
- परिणाम दृश्यांकन और रूपांतरण:
bench.table() method से console.table() आउटपुट फॉर्मेट बदल सकता है, और custom Converter function से आउटपुट फ़ॉर्मेट को कस्टमाइज़ किया जा सकता है
- जब
retainSamples सेट किया जाता है, तो raw sample data जस का तस रखा जाता है और इसका उपयोग custom analysis, graph visualization और परिणाम export में किया जा सकता है
- सटीक टाइमस्टैम्प provider चुनना संभव
- डिफ़ॉल्ट
performance.now()
- रनटाइम-विशिष्ट ऑप्टिमाइज़ेशन विकल्प जैसे
hrtimeNow, bunNanoseconds, auto
- कस्टम TimestampProvider interface लागू करने का विकल्प
- AbortSignal आधारित abort control का समर्थन
- पूरा बेंच या अलग-अलग टास्क इकाइयों के स्तर पर रन को बीच में रोकना संभव
- रोकने पर
abort इवेंट फायर होता है और स्टेटस फ्लैग (task.result.aborted) सेट होता है
- बिना किसी बाहरी लाइब्रेरी dependency के single package design से तेज़ initialization और execution speed सुनिश्चित होती है
- Benchmark.js, mitata, tatami-ng, Bema की तुलना में इसका डिज़ाइन छोटा, सरल और Web API-फ्रेंडली है
अभी कोई टिप्पणी नहीं है.