CodeBlanks Logo Icon CodeBlanks

performance.now

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

index.js
// 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

index.js
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?

index.js
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

Soru
const start = ____();
Cevap
const start = performance.now();

Açıklama: performance.now başlangıç süresini alır.

Orta seviye bölümündeki tüm dersler