Compilateurs
Quelle caractéristique d'un environnement d'exécution utilisant la compilation JIT est correcte ?
- ATout le programme est traduit en code machine avant l'exécution puis distribué
- BLes parties souvent utilisées sont converties en code machine pendant l'exécution, avec accès aux informations d'exécution
- CAucun code machine n'est utilisé, et le bytecode est interprété instruction par instruction indéfiniment
Afficher la réponse et l'explication
Réponse : B. Les parties souvent utilisées sont converties en code machine pendant l'exécution, avec accès aux informations d'exécution
Avec la compilation JIT, le bytecode est d'abord exécuté par interprétation ; lorsqu'une partie souvent exécutée (point chaud) est repérée, elle est compilée en code machine pendant l'exécution. Les informations d'exécution, comme les branches réellement empruntées ou les types effectivement passés, permettent des optimisations audacieuses difficiles en compilation préalable. Un mécanisme de retour à l'interprétation est prévu si les hypothèses s'avèrent fausses. La traduction préalable complète est la compilation anticipée (AOT), l'interprétation seule l'interpréteur pur.