I. Comment faire pour obtenir les meilleures performances des applications Java ? ▲
De tous les outils pour Java, à mon avis les profilers sont parmi les plus indispensables, en particulier pour les applications importantes et surtout les applications professionnelles critiques. Les profilers permettent par exemple de suivre la consommation CPU et mémoire. Les deux plus importants sur le marché sont Optimize It! et JProbe Profiler. Cependant, je trouve que JProbe est lourd, et peu pratique. Optimize It! offre une bien meilleure efficacité et pour un prix plus abordable. Optimize It! est disponible pour Windows, Linux et Solaris.
II. Optimize It!▲
Optimize It! s'installe très facilement, et s'intègre automatiquement dans l'IDE. Optimize It! s'intègre automatiquement dans les IDE JBuilder, VisualCafe, Oracle JDeveloper (basé sur JBuilder 2), IBM Visual Age. Cette intégration permet de lancer le profiler directement à partir de l'IDE. Optimize It! lance les programmes Java en utilisant la machine virtuelle de votre environnement, ce qui fait que le profiler fonctionne dans les mêmes conditions que durant le processus de développement.
Un des points forts d'Optimize It!, c'est sa convivialité. Il est si intuitif qu'il est pratiquement possible de s'en servir immédiatement, même sans avoir lu la documentation.
Optimize It! s'est montré très efficace pour détecter les points faibles en performances de mes applications Java. Dans un cas, le traitement d'un de mes modules Java est passé de cinq minutes à douze secondes. Je n'y serais jamais arrivé sans Optimize It!.
Optimize It! est aussi très doué pour détecter les problèmes de fuites de mémoire. On s'imagine rarement le nombre de fuites de mémoire qui peuvent être détectées dans une application importante. J'aime beaucoup la représentation graphique de Optimize It!, de l'activité des threads et aussi la facilité avec laquelle on navigue pour suivre les invocations de méthodes et les références. Ce qui est bien c'est que les informations de diagnostics sont très détaillées, présentées de façon visuelle et que les affichages sont paramétrables.
La nouvelle version Optimize It! 4.0 est disponible pour les plateformes suivantes : VM d'IBM (Java 2, v 1.3), Windows NT/95/98/2000, Ultra Sparc/Sparc Solaris 2.5, 2.6, 2.7, 2.8 Linux i386 Certified on RedHat 6.0, 6.1, 6.2.
Optimizeit a gagné le prix 2000 « Writers' Choice » du magazine Java Report dans sa catégorie « outils de test ». Décerné par des professionnels du monde Java, ce prix consacre Optimize It! comme outil essentiel pour l'optimisation de la performance de tout programme Java.
Site de l'éditeur : http://www.optimizeit.com/.
Distributeur en France DIFFUS'LOG : http://www.diffuslog.fr - TEL 01 34 63 07 01.
III. Les profilers et optimiseurs gratuits pour optimiser vos applications Java▲
Jopt - The Java Class File Optimizer rend vos applications et applets Java plus petites et plus rapides.
ProfileViewer par Ulf Dittmer et Greg White est un profiler gratuit sous licence GNU General Public License, qui prend en compte pour l'instant Java 1.1 & Swing 1.1, ce qui peut servir pour optimiser des applets en Java 1.1. Le support de Java 2 est en cours de mise au point.
IV. Les compilateurs Java natifs ▲
JET : compilateur pour Win32 http://www.excelsior-usa.com/jet.html pour l'instant gratuit, il semble.
Solution pour les applications serveur : TowerJ compile le Bytecode Java en exécutables natifs hautement optimisés. Interopérabilité possible avec le C. Plateformes : HP-UX, Compaq Tru64 Unix, Windows NT, Solaris, AIX, IRIX, DG/UX and Linux à partir de 36 000 F environ : http://www.towerj.com/.
V. Les articles et les sites sur l'optimisation des applications Java▲
jw-04-optimize | html | Article qui s'appuie sur des exemples de code Java pour montrer les possibilités d'optimisation. | Doug Bell | |
Java Optimization | html | Comment optimiser vos programmes Java pour qu'ils soient plus rapides, plus compacts et plus faciles à maintenir. | Jonathan Hardwick | |
Optimization | Les problèmes de performances Java et leurs solutions | Gordie Freedman |