performance.now
- Node.js kursu
- Orta seviye
- Ders 97/116
- 5 dk
performance.now ile yüksek çözünürlüklü zaman öğrenirsin.
performance.now
Kodun ne kadar sürdüğünü yüksek çözünürlüklü ölçmek için performance.now() kullanırsın. Date.now()'dan farklı olarak milisaniyenin altında duyarlık verir; küçük farkları yakalar.
İçe aktarma: const { performance } = require("node:perf_hooks");. Örnek: const start = performance.now(); islem(); const end = performance.now(); console.log(end - start + "ms");. start ve end arasındaki fark geçen süreyi milisaniye cinsinden verir. Bu, algoritma karşılaştırması, darboğaz (bottleneck) bulma veya performans gerilemesini (regression) izleme için kullanılır. performance.now() süreç başlangıcından beri geçen süreyi verir; her çağrı monoton artar.
Geçen süre ölçümü
İki performance.now() çağrısı arasındaki fark geçen süreyi verir. Bu, bir fonksiyonun ne kadar hızlı olduğunu görmek için standart yoldur.
Örnek: const start = performance.now(); const arr = Array(1000000).fill(0); const end = performance.now(); console.log("Süre: " + (end - start) + "ms");. Çıktı makineden makineye değişir; bu yüzden testlerde tam süre yerine end >= start gibi deterministik koşullar yazılır. Birkaç deneme ortalaması almak daha güvenilir sonuç verir. performance.now()'u döngü içinde çağırmak kendi ölçüm yükü (overhead) nedeniyle sonucu bozabilir; ölçülen kodu olabildiğince yalıt.
Uygulama Geçen süreyi ölç ve yazdır
const { performance } = require("node:perf_hooks"); ile içe aktar. const start = performance.now(); ile başla. const arr = Array(100).fill(0); ile bir dizi yarat. const end = performance.now(); ile bitir. console.log("Ölçüm tamam: " + (end >= start)) ile yazdır.
Başlangıç kodu
// performance'ı içe aktar
// buraya yaz
// başlangıç süresi
// buraya yaz
// bir dizi yarat
// buraya yaz
// bitiş süresi
// buraya yaz
// "Ölçüm tamam: ..." yazdır
// buraya yazÖrnek çözüm
const { performance } = require("node:perf_hooks");
const start = performance.now();
const arr = Array(100).fill(0);
const end = performance.now();
console.log("Ölçüm tamam: " + (end >= start));Beklenen çıktı
Ölçüm tamam: true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 performance.now() ne döndürür?
performance.now()- Milisaniye cinsinden bir sayı Doğru cevap
- Bir Date nesnesi
- Bir dize
- Bir Promise
Açıklama: performance.now milisaniye cinsinden sayı verir.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
performance.now() |
Yüksek çözünürlüklü süre |
node:perf_hooks |
Modül adı |
end - start |
Geçen süre |
Date.now() |
Milisaniye sayısı |
3 performance.now çağrısını tamamla
const start = ____();
const start = performance.now();
Açıklama: performance.now başlangıç süresini alır.