Plus sérieusement, du code java s'exécute dans sa machine virtuelle cloisonnée. Pas évident pour accéder à du bas niveau. La vocation de Java n'a jamais été de faire ce genre de chose, peu importe la vitesse du langage.
Pour ce qui est des performances justement, du code recompilé nativement peut dans certains cas (très?) particuliers être effectivement plus performants que du C++ (et pas du C, la comparaison des perfs du C et du C++ c'est encore un autre troll).
Maintenant, Java est un langage plus haut niveau, qui fait plus de vérifications coûteuses sur le code qu'il exécute et se montre moins apte aux optimisations poussées propres à la plateforme. Au final les performances sont relativement proches du C++, et bien plus rapide qu'un langage de script.
D'autre part les perf dépendent beaucoup de la JVM utilisée. Celle d'IBM est bien plus performante que celle de SUN au passage (même en mode server). Quand à la compilation native avec GCJ ou autre, les tests que j'ai pu voir/faire montrent que c'est soit moins performants (GCJ) soit équivalent. On gagne surtout en mémoire et rapidité de lancement.
[^] # Re: Excellent
Posté par ndesmoul . En réponse à la dépêche Le code de Java3D est disponible. Évalué à 3.
Plus sérieusement, du code java s'exécute dans sa machine virtuelle cloisonnée. Pas évident pour accéder à du bas niveau. La vocation de Java n'a jamais été de faire ce genre de chose, peu importe la vitesse du langage.
Pour ce qui est des performances justement, du code recompilé nativement peut dans certains cas (très?) particuliers être effectivement plus performants que du C++ (et pas du C, la comparaison des perfs du C et du C++ c'est encore un autre troll).
Maintenant, Java est un langage plus haut niveau, qui fait plus de vérifications coûteuses sur le code qu'il exécute et se montre moins apte aux optimisations poussées propres à la plateforme. Au final les performances sont relativement proches du C++, et bien plus rapide qu'un langage de script.
D'autre part les perf dépendent beaucoup de la JVM utilisée. Celle d'IBM est bien plus performante que celle de SUN au passage (même en mode server). Quand à la compilation native avec GCJ ou autre, les tests que j'ai pu voir/faire montrent que c'est soit moins performants (GCJ) soit équivalent. On gagne surtout en mémoire et rapidité de lancement.