Graal : le compilateur dynamique Java pourrait être utilisé dans les JVM
pour de meilleures performances
La communauté du projet Graal et les développeurs d’Oracle souhaiteraient que le compilateur soit utilisé dans des machines virtuelles Java (JVM).
Le projet Graal est une mise en œuvre d’un compilateur dynamique en Java, qui permet de produire du code de bonne qualité sans compromettre le temps de compilation et l’utilisation de la mémoire dans la machine virtuelle Java.
Pour améliorer les performances des JVM, des représentants d’Oracle et les participants au groupe de discussion OpenJDK ont commencé à explorer dans des échanges par messagerie électronique, la mise en œuvre d’un compilateur dynamique qui pourrait être utilisé dans une machine virtuelle Java native comme HotSpot ou méta-circulaire comme Maxine.
La machine virtuelle Maxine est une plateforme de prochaine génération, écrite en Java, disposant d’une architecture modulaire et compatible avec les environnements de développement et le SDK Java modernes, selon Oracle. Le compilateur Graal basé sur le code de Maxine, servirait de point de départ au projet de compilateur dynamique.
« Ce qui est clair ici, c’est que Graal permet d’obtenir de meilleures performances de compilation à partir de Java » a déclaré l’analyste Al Hilwa d’IDC. « Il y a un mouvement de retour à l’origine [vers le code natif], à bien des égards stimulé par les outils d’Apple pour le développement iOS, qui tourne autour d’un modèle natif compilé pour Objective-C. Pendant longtemps, la balance penchait en faveur des langages des machines virtuelles comme Java. Mais le succès d’iOS a changé la tendance. Dans ce contexte, Java doit améliorer ses performances pour être comparable avec ce qui est possible avec les compilateurs natifs et aussi évoluer en terme d’intégration de code natif ».
L’idée d’utiliser Graal dans les machines virtuelles Java est très appréciée par plusieurs utilisateurs du langage. « Pensez à coder en Java, le compiler en utilisant un compilateur écrit en Java, et en l’exécutant dans la JVM, qui est également écrite en Java. Java est présent sur toute la chaine et ouvre le chemin à une intégration transparente entre l’application et la VM » a déclaré Hari Gottipati, architecte principal chez Apollo Group, de l’université de Phœnix. « Je suis sûr que toute la communauté Java va être excitée à ce sujet ».
Graal à fait l’objet d’une présentation en juillet dernier par Oracle lors de l’événement JVM Language Summit. Les travaux sur Graal devraient être complétés par la publication du JDK 8 en 2013.
Source : Wiki de la JVM Maxine
Et vous ?
Que pensez-vous de l'utilisation d'un compilateur dynamique dans les JVM ?
Partager