Yann Secq wrote: > Pierre-Fran�ois Lemosquet wrote: > >> Bonjours la liste. >> Est ce que indiquer qu'une classe est final a un impact sur la >> compilation du code en terme d'ex�cution du code (performance). > > > Oui : lorsqu'une classe est d�clar�e finale, toutes ses m�thodes > le deviennent implicitement. Le compilateur peut ainsi transformer > les appels de m�thodes (inlining) et les performances sont meilleures. > Ce petit livre pourrait t'int�resser : http://www.glenmccl.com/jperf/ > > a+, yann. >
Le probl�me avec la performance de java, c'est qu'il faut pr�ciser la JVM que l'on utilise. En particulier, avec une JVM r�cente (1.3+), le JIT est suffisement intelligent pour inliner sans avoir � d�clarer des �l�ments final, ce qui constitue un choix de conception quand m�me assez structurant. A noter qu'avec une technologie de compilation adaptative comme HotSpot et avec un langage interpr�t� comme Java, la JVM peut d�cider d'�tre tr�s aggressif dans une optimisation pour �ventuellement effectuer une optimisation/inlining moins franche, par exemple lors du chargement d'une sous classe. Plus ca va, plus il faut laisser faire la JVM (le GC est un autre domaine ou c'est de plus en plus vrai). Cdlt, Alexis
