Inline Caching
JavaScript 🔴 SeniorDefinition
Optimisation V8 qui cache l'emplacement memoire d'une propriete apres le premier acces. Monomorphique (1 type) = rapide, polymorphique (2-4) = OK, megamorphique (5+) = lent.
Analogie
Se souvenir exactement ou tu as range tes cles (toujours la meme 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 coherentes dans les hot paths pour maximiser les performances V8.