JavaScript · Avançado · Inglês · Técnico
inline cache
Otimização do motor que memoriza, em cada ponto do código, o formato dos objetos vistos para acessar propriedades sem nova busca. Funciona bem quando o formato quase não varia.
Onde usar
Explica por que funções chamadas com objetos de muitos formatos ficam mais lentas, o estado chamado megamórfico. Em code review de código quente, prefere-se passar objetos de formato estável.
Em código
function getX(o) {
return o.x; // ponto de acesso
}
getX({ x: 1 });
getX({ x: 2 }); // mesmo formato, cache ok
getX({ x: 3, y: 1 }); // novo formato
getX({ z: 1, x: 3 }); // outro formatoExemplos
The function is hot, so the inline cache matters here.
A função é quente, então o inline cache importa aqui.
Objects with many shapes make the inline cache megamorphic.
Objetos com muitos formatos deixam o inline cache megamórfico.
Cuidado
Alimentar uma função quente com objetos de formatos variados e esperar o mesmo desempenho.
Sinônimos
IC