0Pricing
JavaScript Academy · Leçon

Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps

Profilez par petites étapes : mesurez avec console.time/timeEnd et de simples minuteurs, trouvez le code chaud, ne changez qu’un élément, puis mesurez à nouveau

Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

Pourquoi profiler ?

Objectif : mesurer → modifier → mesurer à nouveau.

  • Utilisez console.time/timeEnd pour mesurer rapidement les durées
  • Utilisez une petite fonction auxiliaire now() pour les mesures manuelles
  • Concentrez-vous uniquement sur le code chaud
  • Ne modifiez qu'une seule chose à la fois
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 1

Démonstration de console.time

console.time affiche la durée d'exécution du bloc portant l'étiquette. C'est une excellente première étape.

// 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);
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 2

Fonction auxiliaire de mesure manuelle

La mesure manuelle vous aide à entourer n'importe quelle fonction et à comparer les exécutions avec la même entrée.

// 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;
});
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 3

Trouver le code chaud

Suivez les appels et la time pour savoir où votre application effectue son travail ; optimisez d'abord la fonction la plus sollicitée.

// 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);
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 4

Mesure avant et après

Mesurez avant et après une modification. Conservez la même entrée et comparez uniquement les nombres.

// 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);
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 5

Bonnes pratiques de mesure

Conseils :

  • Utilisez les mêmes entrées pour toutes les exécutions.
  • Effectuez un échauffement une fois, puis mesurez.
  • Réduisez les journaux pendant la mesure.
  • Ne modifiez qu'une seule chose, puis mesurez à nouveau.
  • DevTools/Node proposent des enregistreurs ; commencez avec un simple console.time.
Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 6

Question sur les bases de console.time

Vérification rapide : outil de mesure rapide.

Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 7

Récapitulatif

Récapitulatif : commencez avec console.time et une petite fonction auxiliaire now(). Trouvez le code chaud, effectuez une modification simple, puis mesurez à nouveau avec les mêmes entrées.

Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps — illustration 8

Questions Fréquemment Posées

La leçon « Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps » est-elle gratuite ?

Oui — le texte complet de « Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps » ?

Profilez par petites étapes : mesurez avec console.time/timeEnd et de simples minuteurs, trouvez le code chaud, ne changez qu’un élément, puis mesurez à nouveau Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.

Combien de temps prend la leçon « Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Notions de base de Big-O, chemins chauds ou froids (réussites pour débutants)
  2. Éviter les fuites — fermetures, minuteurs et références
  3. Introduction au profilage (Node/DevTools) — petites habitudes de mesure du temps
← Retour à JavaScript Academy