Ca ne suffit pas. Les JVM modernes sont dites Just In Time. En gros à la première execution d'une fonction le code n'est pas optimisé. Il le sera par la suite si la machine virtuelle détecte que la fonction est suffisamment utilisée pour que le coût d'une recompilation native à la volée se justifie. C'est pour cela qu'au début les performances de Java sont assez merdiques et qu'elles s'améliorent ensuite fortement. Je parle par expérience, c'est vraiment flagrant.
A chaque relancement du programme ce processus repart de zéro (c'est un peu con d'ailleurs). Le fait que la JVM soit déjà en mémoire n'y change rien.
Prendre en compte d'ailleurs le lancement de la JVM d'ailleurs devrait sérieusement plomber les perfs...
Sinon les perfs varient fortement selon les JVM et leur configuration. La JVM d'IBM me semblait plus performante que celle de SUN mais plus lente à "chauffer".
La JVM de SUN a 2 modes: mode client (par défaut) qui se lance plus vite mais optimise moins le code; et le mode server, plus lent au début mais qui optimise plus au final.
[^] # Re: bidon
Posté par ndesmoul . En réponse à la dépêche Langages et performances : les Français à l'honneur !. Évalué à 1.
A chaque relancement du programme ce processus repart de zéro (c'est un peu con d'ailleurs). Le fait que la JVM soit déjà en mémoire n'y change rien.
Prendre en compte d'ailleurs le lancement de la JVM d'ailleurs devrait sérieusement plomber les perfs...
Sinon les perfs varient fortement selon les JVM et leur configuration. La JVM d'IBM me semblait plus performante que celle de SUN mais plus lente à "chauffer".
La JVM de SUN a 2 modes: mode client (par défaut) qui se lance plus vite mais optimise moins le code; et le mode server, plus lent au début mais qui optimise plus au final.