JIT Compilation

JavaScript 🔴 Senior

Definition

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

Analogie

Un cuisinier qui improvise la premiere fois (interpretation), puis ecrit la recette (compilation) quand il a assez d'experience 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 malgre le typage dynamique, et comment eviter les deoptimisations.

#core#engine#performance