Marc Bruxman 28 novembre 2008 17:30


A qualité égale de programmeur , Il n’y a absolument aucune chance qu’un programme en langage interprété soit seulement 5 ou 10% plus lent qu’avec un langage compilé comme le c++.
Le rapport est plutôt de 10 à 100 fois plus lent. Je ne vais même pas essayer de vous expliquer pourquoi je perdrais mon temps.


Bref c’est du grand n’importe quoi et ça confirme ma première impression, vous parlez de choses qui vous dépassent.


C’est vous qui parlez de choses qui vous dépassent. Le JAVA n’est pas un langage interprété mais un langage qui tourne dans une machine virtuelle. Vous n’avez donc pas le coût du parsing et de l’analyse sémantique à l’exécution. Déja c’est ca de fait. Par ailleurs, une partie des optimisations ont également lieu lors de la génération du bytecode. 

Par ailleurs, la plupart des langages bytecodés utilisent un JIT (http://en.wikipedia.org/wiki/Just-in-time_compilation). Je vous laisse la page wikipedia de cette technologie pour que vous puissiez parler en étant moins ignorant. Je cite donc l’article :
"
JIT code generally offers far better performance than interpreters. In addition, it can in some or many cases offer better performance than static compilation, as many optimizations are only feasible at run-time : ...". Il y a toutes les explications dans l’article wikipedia et vous pourrez en trouver d’autres dans tout bon bouquin traitant du sujet. 

Ce que vous dites était vrai dans les années 80. Si vos cours d’informatique datent des années 80, je vous suggére donc un retour à l’école qui vous évitera de polluer le fil en racontant n’importe quoi. 

Par ailleurs et pour parler du cas spécifique de Java, voici un lien qui vous apportera des précisions :
http://en.wikipedia.org/wiki/Java_performance

Et dont je cite un extrait :
"
Java is often Just-in-time compiled at runtime by the Java Virtual Machine, but may also be compiled ahead-of-time, just like C or C++. When Just-in-time compiled, its performance is generally : [10]

  • lower than the performance of compiled languages as C or C++, but not significantly for most tasks,
  • close to other Just-in-time compiled languages such as C#,
  • much better than languages without an effective native-code compiler (JIT or AOT), such as Perl, Ruby, PHP and Python.[25]"
Ah oui ! "not significantly for most tasks" (5 à 10% doit rentrer dans cette catégorie non ?). Par ailleurs, la page en question vous donnera toutes les explications techniques nécéssaire pour comprendre pourquoi l’informatique a fait des progrès et pourquoi les langages évoluent sans pour autant sacrifier les perfos. 


Ajouter une réaction

Pour réagir, identifiez-vous avec votre login / mot de passe