• AgoraVox sur Twitter
  • RSS
  • Agoravox TV
  • Agoravox Mobile


En réponse à :


Hecatonchire 28 novembre 2008 19:01

Merci mais je sais exactement ce qu’est une machine virtuelle pour en avoir déjà codée moi même.
Machine virtuelle = interprété.
Tout ce qui n’est pas directement executé par le processeur (donc traduit en code machine) est dit "interprété".
Le fait qu’on économise ou pas la phase de tokenisation à partir d’un langage source ne change rien à l’affaire, c’est de toute façon plus lent.
l’utilisation d’un compilo JIT n’est pas aussi performante qu’une "compile statique" ou l’ont peut faire varier les options de compilation à volonté.
A cela il faut evidemment rajouter le temps de compilation temps réel (qui est loin d’être négligeable).

Donc j’insiste java est beaucoup plus lent (même en JIT) et c’est tout à fait normal quand on comprend un minimum comment ça fonctionne.
 
Maintenant il se peut que vous ne voyez pas la différence dans vos applis pour la simple et bonne raison que 90% du temps d’exécution d’une application classique se passe en communication avec l’OS et les autres ressources. Mais en temps d’execution machine, un programme compilé qui ne fait que manipuler la mémoire est evidemment infiniment plus rapide (et ce n’est pas négociable).

Ainsi, raconter que java est instrinsèquement presque aussi rapide que du compilé natif sous prétexte que ça se voit pas sur des OS chronovore à la windows, c’est que vous n’avez pas bien compris à quoi sert un compilo (allez dire ça aux gars de l’embarqué ils vous riront au nez).



Ajouter une réaction

Pour réagir, identifiez-vous avec votre login / mot de passe, en haut à droite de cette page

Si vous n'avez pas de login / mot de passe, vous devez vous inscrire ici.


FAIRE UN DON


Palmarès