JIT Compilation

JavaScript 🔴 Senior

Définition

Compilation Just-In-Time : V8 interprété d'abord le bytecode (Ignition), puis compile en code machine optimise (TurboFan) les fonctions chaudes. Peut desoptimiser si les hypothèses sont invalides.

Analogie

Un cuisinier qui improvise la première fois (interprétation), puis écrit la recette (compilation) quand il a assez d'expérience avec le plat.

Exemple de code

// V8 pipeline:
// 1. Parser -> AST
// 2. Ignition -> Bytecode (interprete)
// 3. Profiling (quelles fonctions sont chaudes?)
// 4. TurboFan -> Code machine optimise
// 5. Deopt si les types changent

Cas d'usage

Comprendre pourquoi le code JS est rapide malgré le typage dynamique, et comment éviter les deoptimisations.

#core#engine#performance

← → au clavier pour passer d'une fiche à l'autre