• [^] # Re: Oui, mais...

    Posté par . En réponse à la dépêche Miguel DeIcaza et .NET. Évalué à 3.

    Ce sont des petites marmottes qui vont exécuter le bytecode ?

    Note que j'ai laissé un futur "vague", je n'ai pas voulu l'affirmer pour le jdk qui est actuellement en beta. Néanmoins il semble que ce soit déja le cas avec cette nouvelle jvm, pour des programmes qui s'y pretent bien.

    C'est toujours une JVM qui exécute le bytecode. Par contre l'époque où les marmottes interprétaient le bytecode est révolu. L'époque où les marmottes ne faisaient que JIT-compiler aussi. Maintenant les marmottes sont intelligentes et optimisent le code quand elles le compilent. Et elles peuvent le faire mieux que lors d'une unique optimisation comme c'est fait pour du compilé : elles peuvent déterminer, en fonction de ce qui se passe à l'exécution, comment optimiser au mieux. Ce qui est inaccessible au code compilé une fois pour toutes.

    Si tu sais compiler/optimiser aussi rapidement qu'exécuter, une machine virtuelle qui adapte cette compilation/optimisation à l'exécution est a priori bien meilleure qu'une classique compilation unique en natif.