0Pricing
JavaScript Academy · Ders

Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları

Küçük adımlarla profil oluşturun: console.time/timeEnd ve basit zamanlayıcılarla ölçün, sıcak kodu bulun, tek bir şeyi değiştirin ve yeniden ölçün.

Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.

Neden profilleme?

Hedef: Ölçün → değiştirin → yeniden ölçün.

  • Hızlı zaman ölçümü için console.time/timeEnd kullanın
  • Elle zaman ölçümü için küçük bir now() yardımcısı kullanın
  • Yalnızca sıcak koda odaklanın
  • Her seferinde tek bir değişiklik yapın
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 1

console.time gösterimi

console.time, etiketli bloğun ne kadar sürdüğünü yazdırır. Harika bir ilk adımdır.

// Measure a small loop with console.time/timeEnd
console.time("sum");
let s = 0;
for (let i = 0; i < 100000; i = i + 1) {
  s = s + i;
}
console.timeEnd("sum");
console.log("sum value:", s);
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 2

Elle zaman ölçümü yardımcısı

Elle zaman ölçümü, herhangi bir işlevi sarmanıza ve aynı girdiyi kullanan çalıştırmaları karşılaştırmanıza yardımcı olur.

// A tiny now() helper that works in many runtimes
const now = (typeof performance !== "undefined" && performance.now)
  ? function () { return performance.now(); }
  : function () { return Date.now(); };

// Time a function manually
function timeFn(label, fn) {
  const t1 = now();
  const out = fn();
  const t2 = now();
  console.log(label + " ms:", (t2 - t1));
  return out;
}

timeFn("small work", function () {
  let x = 0;
  for (let i = 0; i < 50000; i = i + 1) { x = x + i; }
  return x;
});
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 3

Sıcak kodu bulun

Çağrıları ve time değerini izleyerek uygulamanızın işi nerede harcadığını öğrenin; önce en sıcak işlevi iyileştirin.

// Count calls and total time to find hot spots
const metrics = { calls: 0, totalMs: 0 };

function hotWork(n) {
  const t1 = now();
  let sum = 0;
  for (let i = 0; i < n; i = i + 1) {
    sum = sum + (i % 3);
  }
  const t2 = now();
  metrics.calls = metrics.calls + 1;
  metrics.totalMs = metrics.totalMs + (t2 - t1);
  return sum;
}

// Simulate usage
for (let k = 0; k < 5; k = k + 1) {
  hotWork(80000);
}
console.log("calls:", metrics.calls, "avg ms:", metrics.totalMs / metrics.calls);
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 4

Değişiklik öncesi ve sonrası zaman ölçümü

Bir değişiklikten önce ve sonra ölçüm yapın. Aynı girdiyi koruyun ve yalnızca sayıları karşılaştırın.

// Compare two approaches with the same input
const hay = [];
for (let i = 0; i < 2000; i = i + 1) { hay.push(String(i)); }

const needles = [];
for (let i = 0; i < 1000; i = i + 1) { needles.push(String(i * 2)); }

function slowIncludes() {
  let count = 0;
  for (const n of needles) {
    if (hay.includes(n)) { count = count + 1; }
  }
  return count;
}

function fastSet() {
  const set = new Set(hay);
  let count = 0;
  for (const n of needles) {
    if (set.has(n)) { count = count + 1; }
  }
  return count;
}

const c1 = timeFn("includes run", slowIncludes);
const c2 = timeFn("set.has run", fastSet);
console.log("counts:", c1, c2);
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 5

İyi zaman ölçümü alışkanlıkları

İpuçları:

  • Çalıştırmalar boyunca aynı girdileri kullanın.
  • Bir kez ısıtın, ardından ölçün.
  • Zaman ölçümü sırasında günlük kayıtlarını azaltın.
  • Tek bir şeyi değiştirin ve yeniden ölçün.
  • DevTools/Node, kayıt araçlarına sahiptir; basit console.time ile başlayın.
Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 6

console.time temelleri testi

Hızlı kontrol: Hızlı zaman ölçümü aracı.

Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 7

Özet

Özet: console.time ve küçük bir now() yardımcısıyla başlayın. Sıcak kodu bulun, basit bir değişiklik yapın ve aynı girdilerle yeniden ölçün.

Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları — resim 8

Sıkça Sorulan Sorular

“Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları” dersi ücretsiz mi?

Evet — “Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.

“Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları” dersinde ne öğreneceğim?

Küçük adımlarla profil oluşturun: console.time/timeEnd ve basit zamanlayıcılarla ölçün, sıcak kodu bulun, tek bir şeyi değiştirin ve yeniden ölçün. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Big-O Temelleri, Sıcak ve Soğuk Yollar (Başlangıç Kazanımları)
  2. Sızıntılardan Kaçınma — Kapanımlar, Zamanlayıcılar, Başvurular
  3. Profil Oluşturmaya Giriş (Node/DevTools) — Küçük Zamanlama Alışkanlıkları
← JavaScript Academy Sayfasına Dön