Accueil > Liens > Actus sciences > L'Universite de Linz a mis au point un compilateur Java ultrarapide
La methode de compilation mise au point par l’Institut des logiciels systeme de l’Universite Johannes Kepler (SSW, Institut fur Systemsoftware) reduit significativement le temps d’execution des programmes Java. Appliquee au compilateur client Sun Microsystems Java Hotspot, elle a fait baisser les temps d’execution de 25% en moyenne, et de 90% a l’occasion.
Les programmes Java sont de fait compiles a la volee, au moment meme de leur execution, le code Java ayant ete au prealable transforme en un langage intermediaire, le java bytecode. La compilation a la volee (ou
interpretation) de ce pseudo-code se doit d’etre la plus rapide possible :
elle doit idealement etre transparente pour l’utilisateur.
Hanspeter Mossenbock et Christian Wimmer travaillent a optimiser cette etape, en ameliorant la structuration des donnees et la gestion du registre de calcul, ainsi qu’en eliminant les sous-expressions communes. Ils se basent pour cela sur un compilateur utilisant deux representations intermediaires du programme : une representation de haut-niveau (HIR), par graphes avec assignement unique statique (SSA), et une representation de bas-niveau (LIR), creee par modifications successives de la premiere. Leur derniere avancee a consiste a abandonner la methode d’allocations de registre par coloriage de graphes, pour revenir a une methode d’allocation par scan lineaire. Cette methode, bien plus rapide, peut donner des resultats tout aussi satisfaisants que la precedente, sous reserve des optimisations effectuees.
Les algorithmes crees, presentes lors de la conference de developpeurs
VEE’05 (’Virtual Execution Environnements’), pourraient etre implementes dans une prochaine version de Java : les travaux de Mossenbock et Wimmer, finances par Sun Microsystems, se sont d’ailleurs faits en collaboration avec le departement de recherche externe de l’entreprise, creatrice de la technologie Java.
Contacts :
Hanspeter Mossenbock & Christian Wimmer, Institut fur Systemsoftware, Altenbergerstra