- Alat benchmarking ultra-ringan berukuran di bawah 10KB yang dikembangkan untuk mengukur performa kode secara presisi
- Berjalan berbasis Web API dan mendukung pengukuran waktu yang akurat menggunakan
process.hrtime atau performance.now
- Dapat dijalankan di berbagai lingkungan runtime JavaScript seperti Node.js, Deno, dan Bun
- Menyediakan fitur analisis berbasis statistik: mendukung perhitungan latensi dan throughput seperti rata-rata, deviasi standar, margin galat, varians, persentil, dan lainnya
- Mode eksekusi concurrency: dapat dijalankan paralel per unit
task atau per unit bench, dengan opsi threshold untuk mengatur jumlah maksimum eksekusi bersamaan
- Dapat diperluas dengan arsitektur berbasis event: kelas
Bench dan Task mewarisi EventTarget, sehingga listener untuk event seperti cycle, abort, dan lainnya dapat didaftarkan
- Deteksi otomatis fungsi asinkron: memeriksa
AsyncFunction atau apakah mengembalikan Promise untuk otomatis mengaktifkan mode async
- Visualisasi dan konversi hasil: metode
bench.table() mengubah hasil ke format keluaran console.table(), dan format output dapat dikustomisasi dengan fungsi Converter buatan pengguna
- Saat
retainSamples diaktifkan, data sampel mentah dipertahankan apa adanya dan bisa digunakan untuk analisis kustom, visualisasi grafik, ekspor hasil, dan lainnya
- Dapat memilih penyedia timestamp yang presisi
- Nilai default adalah
performance.now()
- Mendukung opsi yang dioptimalkan per runtime seperti
hrtimeNow, bunNanoseconds, auto, dan lainnya
- Dapat mengimplementasikan antarmuka TimestampProvider kustom
- Mendukung kontrol penghentian berbasis AbortSignal
- Dapat menghentikan eksekusi (abort) seluruh benchmark atau task individual
- Saat dihentikan, event
abort dipicu dan flag status (task.result.aborted) disetel
- Struktur paket tunggal tanpa dependensi pustaka eksternal menjamin inisialisasi cepat dan kecepatan eksekusi
- Dibandingkan Benchmark.js, mitata, tatami-ng, dan Bema, desainnya menonjol karena lebih kecil, lebih sederhana, dan lebih ramah Web API
Belum ada komentar.