Inline Caching

JavaScript 🔴 Senior

Definition

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.

#core#engine#performance