Salut,
Y-a-t'il un intêret de faire du c++(niveau rapidité) si je compile java en code natif au lieu de bytecode.?
Salut,
Y-a-t'il un intêret de faire du c++(niveau rapidité) si je compile java en code natif au lieu de bytecode.?
Java en natif, c'est peu évolué, il n'y a pratiquement pas de support pour les interfaces graphiques, et seulement une petite partie de l'api standard est supportée. Bref, l'intérêt de Java en natif est moindre, car tu pourras faire trop peu de chose avec.
Bonjour,
si tu envisages de passer Java en natif, tu perds l'avantage qu'on a à utiliser Java: compilation à la volée et portabilité multi-architectures.
Maintenant, ça dépend ce que tu appelles rapidité ( de développement, d'exécution ) ?
S. Desbois
Salut,
Ce n'est vrai que pour GCJ/GNU Classpath, car Exclesior JET propose un compilateur 100% compatible (qui a d'ailleurq passé le test de compatibilité de Sun).Envoyé par Janitrix
Par contre je pense aussi que la compilation en natif n'apporte rien... même pas en performance (lire : La machine virtuelle Java est-elle vraiment lente ?).
a++
Merci de cette précision adiGuba![]()
Exclesior JET semble en effet tenir la route, mais il est apparemment payant, un défaut de plus donc pour la solution native.
Je ne pense pas que la compilation native n'apporte quoi que ce soit, on pert tous les avantages de Java pour ne gagner finalement pas grand chose, donc je pense personnellement que cela ne vaut pas le coup.
Encore merci adi![]()
Pour en revenir au sujet initial, puisqu'il semble qu'il y ait peu d'intérêt à compiler Java en natif, la question revient à se demander si, compilé en natif ou pas, Java est-il plus ou moins rapide que C++.
Java contre C++ est un vieux débat qu'il vaut mieux ne pas ranimer. Je dirais seulement qu'à condition de bien connaître le C++, on peut effectivement faire plus rapide avec ce dernier, mais la différence s'est beaucoup réduite ces derniers temps grâce à de nouvelles JVM pratiquant la précompilation.
Il faut à présent se demander quels sont vos objectifs, sachant que C++ mal employé aboutit à des catastrophes.
Les dernières JVM sont TRES performantes et l'ecart en terme de vitesse d'excution tend à s'amoindrir au fil du temps. JAVA n'est pas lent, c'est souvent les developpeurs peu rigoureux qui plombent eux meme les performances de leur application. Si on ajoute à cela que java est un langage dans lequel les temps de developpement sont largement inferieur à ceux où sont utilisés C++, JAVA est à mes yeux une des meilleures solution si ce n'est la meilleure pour developper des applications
Ca dépend de ce que l'on veut. La dernière fois que j'ai mené une comparaison sérieuse, j'ai remarqué le projet Jake 2 : une réécriture du moteur de Quake 2 en Java. Ca a peut-être changé depuis, mais il était 15% plus lent que la version d'origine en C. En y regardant de plus près, on s'aperçoit qu'il fait appel à des librairies externes en C dans des sections critiques.
Je suis bien d'accord pour dire que les temps de développement en Java sont bien moindre. Ce n'était pas la question.
Je ne sais pas si un moteur de jeu est un bon exemple, car dans ce type de programme, il y a même des morceaux d'assembleur...
Partager