Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu
Buat profil dalam langkah kecil: ukur dengan console.time/timeEnd dan pewaktu sederhana, temukan kode panas, ubah satu hal, lalu ukur kembali
Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 3 pelajaran total.
Mengapa membuat profil kinerja?
Tujuan: Ukur → ubah → ukur lagi.
- Gunakan console.time/timeEnd untuk pengukuran cepat
- Gunakan fungsi pembantu now() kecil untuk pengukuran manual
- Fokus hanya pada kode panas
- Lakukan satu perubahan setiap kali

Demo console.time
console.time menampilkan durasi yang diperlukan blok berlabel. Ini langkah awal yang bagus.
// 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);

Fungsi pembantu pengukuran manual
Pengukuran manual membantu Anda membungkus fungsi apa pun dan membandingkan beberapa pelaksanaan dengan masukan yang sama.
// 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;
});

Temukan kode panas
Lacak pemanggilan dan waktu untuk mengetahui bagian tempat aplikasi Anda melakukan paling banyak pekerjaan; optimalkan fungsi yang paling panas terlebih dahulu.
// 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);

Pengukuran sebelum dan sesudah
Lakukan pengukuran sebelum dan sesudah perubahan. Pertahankan masukan yang sama dan bandingkan angkanya saja.
// 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);

Kebiasaan pengukuran yang baik
Kiat:
- Gunakan masukan yang sama di setiap pelaksanaan.
- Lakukan pemanasan sekali, lalu ukur.
- Kurangi log selama pengukuran.
- Ubah satu hal dan ukur kembali.
- DevTools/Node memiliki perekam; mulailah dengan console.time sederhana.

Kuis dasar console.time
Pemeriksaan singkat: Alat pengukuran cepat.

Ringkasan
Ringkasan: Mulailah dengan console.time dan fungsi pembantu now() kecil. Temukan kode panas, lakukan perubahan sederhana, lalu ukur kembali dengan masukan yang sama.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu” gratis?
Ya — teks lengkap “Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu”?
Buat profil dalam langkah kecil: ukur dengan console.time/timeEnd dan pewaktu sederhana, temukan kode panas, ubah satu hal, lalu ukur kembali Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai JavaScript Academy?
Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?
Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar Big-O, Jalur Panas vs Dingin (Kemenangan Pemula)
- Menghindari Kebocoran — Closure, Pewaktu, Referensi
- Pengantar Pembuatan Profil (Node/DevTools) — Kebiasaan Mengukur Waktu