Tinybench - pustaka benchmarking JavaScript ringan
(github.com/tinylibs)- 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.hrtimeatauperformance.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
taskatau per unitbench, dengan opsithresholduntuk mengatur jumlah maksimum eksekusi bersamaan - Dapat diperluas dengan arsitektur berbasis event: kelas
BenchdanTaskmewarisi EventTarget, sehingga listener untuk event seperticycle,abort, dan lainnya dapat didaftarkan - Deteksi otomatis fungsi asinkron: memeriksa
AsyncFunctionatau apakah mengembalikanPromiseuntuk otomatis mengaktifkan mode async - Visualisasi dan konversi hasil: metode
bench.table()mengubah hasil ke format keluaranconsole.table(), dan format output dapat dikustomisasi dengan fungsi Converter buatan pengguna - Saat
retainSamplesdiaktifkan, 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
- Nilai default adalah
- Mendukung kontrol penghentian berbasis AbortSignal
- Dapat menghentikan eksekusi (abort) seluruh benchmark atau task individual
- Saat dihentikan, event
abortdipicu 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
1 komentar
Sekarang rasanya sampai butuh yang beginian ya. Soalnya AI sudah sangat jago menuliskan skrip untuk mengukur performa yang pas dengan kebutuhan pada saat itu..