Tinybench - Hafif JavaScript Benchmarking Kütüphanesi
(github.com/tinylibs)- Kod performansını hassas şekilde ölçmek için geliştirilmiş 10KB'ın altında ultra hafif bir benchmark aracı
- Web API tabanlı olarak çalışır ve
process.hrtimeveyaperformance.nowkullanarak kesin zamanlama ölçümü destekler - Node.js, Deno, Bun gibi çeşitli JavaScript runtime ortamlarında çalıştırılabilir
- İstatistik tabanlı analiz işlevleri sağlar: ortalama, standart sapma, hata payı, varyans, yüzdelik değerler gibi metriklerle gecikme (latency) ve işleme kapasitesi (throughput) hesaplamalarını destekler
- Eşzamanlılık (concurrency) çalıştırma modu:
taskveyabenchbirimi düzeyinde paralel çalıştırılabilir,thresholdseçeneğiyle en fazla eşzamanlı çalıştırma sayısı kontrol edilir - Etkinlik tabanlı yapıyla genişletilebilir:
BenchveTasksınıfları EventTarget'ı miras alır vecycle,abortgibi olay dinleyicileri kaydedilebilir - Asenkron fonksiyon otomatik algılama:
AsyncFunctionveyaPromisedönüşünü kontrol ederek async modu otomatik olarak ayarlar - Sonuç görselleştirme ve dönüştürme:
bench.table()metodu ileconsole.table()çıktı formatını dönüştürür, özel bir Converter fonksiyonu ile çıktı biçimi özelleştirilebilir retainSamplesayarı yapıldığında ham örnek veriler olduğu gibi saklanır; özel analiz, grafik görselleştirme ve sonuç dışa aktarma için kullanılabilir- Kesin zaman damgası sağlayıcısı (timestamp provider) seçilebilir
- Varsayılan olarak
performance.now() hrtimeNow,bunNanoseconds,autogibi runtime bazlı optimizasyon seçenekleri desteklenir- Özel bir TimestampProvider arayüzü uygulanabilir
- Varsayılan olarak
- AbortSignal tabanlı durdurma kontrolü desteği
- Benchmark'ın tamamında veya tekil görev düzeyinde çalışmayı durdurma (abort) yapılabilir
- Durdurma sırasında
abortolayı tetiklenir ve durum bayrağı (task.result.aborted) ayarlanır
- Harici kütüphane bağımlılığı olmayan tek paket yapısıyla hızlı başlatma ve yürütme hızı sağlanır
- Benchmark.js, mitata, tatami-ng, Bema'ye kıyasla daha küçük, daha basit ve Web API dostu bir tasarım özellik gösterir
1 yorum
Artık buna gerek var mı emin değilim. Çünkü yapay zeka, o anın ve dönemin koşullarına uygun performans ölçümü için gerekli scriptleri zaten çok iyi yazıyor..