Inline Caching
JavaScript 🔴 SeniorDéfinition
Optimisation V8 qui cache l'emplacement mémoire d'une propriété après le premier accès. Monomorphique (1 type) = rapide, polymorphique (2-4) = OK, megamorphique (5+) = lent.
Analogie
Se souvenir exactement ou tu as range tes clés (toujours la même poche) au lieu de fouiller partout a chaque fois.
Exemple de code
// Monomorphique (rapide)
function getX(obj) { return obj.x; }
getX({ x: 1 }); getX({ x: 2 }); // meme forme
// Megamorphique (lent)
getX({ x: 1 });
getX({ x: 1, y: 2 });
getX({ x: 1, z: 3 });
getX({ a: 0, x: 1 }); // formes differentes
Cas d'usage
Garder des formes d'objets cohérentes dans les hot paths pour maximiser les performances V8.