Performans ölçümü
performance.now ve profiling ile bir işlemin süresini ölçmeyi öğrenirsin.
Süre ölçümü
Bir işlemin ne kadar sürdüğünü ölçmek için performance.now() kullanılır. Bu yöntem, sayfa yüklendiğinden beri geçen süreyi milisaniye cinsinden yüksek çözünürlükte verir.
Ölçüm yapmak için işlemden önce ve sonra birer değer alıp farklarını hesaplarsın. Bu teknik benchmark denilen kıyaslama testlerinde yaygındır.
Tarayıcı profil araçları ek olarak hangi fonksiyonun ne kadar sürdüğünü gösterir; ancak kod içi ölçüm için performance.now() en doğru seçenektir.
Uygulama Süre ölçen fonksiyon
measure adında bir fonksiyon yaz. fn parametresini alıp çalıştırsın ve performance.now() ile geçen süreyi milisaniye olarak döndürsün.
Örnek çözümü göster
performance.now() ile başlangıç ve bitiş zamanlarını al, farkı döndür.
Örnek çözüm:
function measure(fn) {
const start = performance.now();
fn();
const end = performance.now();
return end - start;
}
Güvenilir ölçüm
Birden fazla ölçümü yan yana karşılaştırmak için bir measure fonksiyonu yazabilirsin. Bu fonksiyon, kendisine verilen işlemi çalıştırır ve süreyi döndürür.
Ölçüm sonuçlarını yorumlarken tek çalıştırma yerine ortalamaya almak daha sağlıklıdır. Tek seferlik sonuç, çöp toplama veya diğer arka plan işleri yüzünden yanıltıcı olabilir.
Kendini test et
-
performance.now() ne döndürür?
- Tarih nesnesi
- Milisaniye cinsinden zaman
- Çalışan süre (saniye)
- Bellek kullanımı
Cevabı göster
Milisaniye cinsinden zaman — Doğru! performance.now() sayfa yüklendiğinden beri geçen süreyi milisaniye olarak verir.
-
Süre ölçümü
const start = ____; heavyWork(); const end = performance.now(); console.log(end - start);Cevabı göster
const start = performance.now(); heavyWork(); const end = performance.now(); console.log(end - start); -
Zaman API'sini eşleştir
- performance.now
- ms cinsinden süre
- Date.now
- unix zaman damgası
- console.time
- basit süre ölçer
- performance.mark
- adlandırılmış işaret