Jato optimise les applications Java desktop

Jato est un nouveau venu dans la grande famille des JVM open source. Particularité, il compile intégralement le code Java à la volée.

Il serait faux de croire que le seul environnement d’exécution pour Java est celui fourni par Sun Microsystems (aujourd’hui propriété d’Oracle). Depuis plusieurs années, de grandes compagnies, comme HP et IBM, proposent leurs propres machines virtuelles Java (JVM).

Ces offres ont été suivies de multiples autres produits, certains étant adaptés à des marchés spécifiques (embarqué, middleware, etc.). Nous pouvons également constater une grande profusion de technologies : interprétation du code, compilation à la volée ou même compilation définitive du code (le GCC est capable de réaliser une telle opération). Si ces implémentations sont aujourd’hui éclipsées par le projet OpenJDK, les projets alternatifs continuent à évoluer. Certains sont même totalement nouveaux, comme Jato, une JVM développée par Pekka Enberg, Tomek Grabiec, Arthur Huillet et Eduard-Gabriel Munteanu.

Jato est accessible en mouture de test pour les versions x86 32 bits de Linux (le processeur devra gérer le SSE2). Cet outil utilise la compilation à la volée (just-in-time) pour l’ensemble du code. Ceci permet d’obtenir de bonnes performances dès le lancement de l’application Java. Rappelons que la machine virtuelle Java officielle combine des techniques d’interprétation puis d’optimisation lors de l’exécution du code. Le tout est très rapide, mais uniquement après une phase de ‘montée en charge’ plus ou moins longue. Ceci est sans importance dans un environnement serveur, mais parfois pénible pour une application desktop.

Jato a donc une carte à jouer dans le monde des applications Java desktop. Ce projet n’en est toutefois qu’à ses débuts, la prochaine étape consistant à finaliser la version x86 64 bits de cette solution. Notez enfin qu’il sera possible d’optimiser les applications Java en utilisant les compteurs de performance intégrés au noyau Linux. Une fonctionnalité très intéressante apportée par Jato.

jatotetris.jpg