ZerosquareLe 17/11/2009 à 22:58
Oui, ça s'appelle la recompilation statique. Le principal problème est de séparer ce qui est du code (à traduire) de ce qui est des données (à laisser tel quel). Ne parlons même pas du code qui se modifie lui-même.
Mais il y a mieux : la recompilation dynamique. En gros ça marche comme un interpréteur normal au début, mais une fois que l'émulateur détecte qu'un bout de code a été exécuté un nombre suffisant de fois pour considérer qu'il est important, il génère à la volée du code natif équivalent qui prendra sa place. Du coup, les perfs augmentent fortement au cours du temps (en pratique, ça semble efficace au bout de quelques secondes).