Le cache instruction fait 32 ou 64K selon les CPUs, tu auras du mal à me trouver une application moderne qui tient dans cet espace.
oui, je me suis mal exprimé, je voulais dire qu'il faut comparer à utilisation similaire. L'optimisation des programmes montre qu'en général le cache instruction n'est pas le facteur limitant mais bien le cache de données (relis par exemple cpumemory.pdf d'Ulrich Drepper, aka "What every programmer should know about memory"). Donc supposer que le cache instruction est rempli dans les deux cas n'est pas une hypothèse aberrante, et on s'intéresse au cache de données.
Sauf que comme mentionné plus haut, le bytecode d'un langage interprété est plus compact que le code machine équivalent. Donc l'efficacité cache de ce bytecode est meilleure et non moins bonne.
Sauf que comme mentionné plus haut [dans mon post] même dans le cas d'un langage interprété à bytecode, dans tous les cas le code du langage interprété réside dans le cache de données et pas dans le cache d'instructions. Il a beau être compact, il prend toujours plus de place que rien du tout dans le cas du langage compilé. L'efficacité cache de données du code interprété est donc moins bonne et non meilleure.
[^] # Re: La différence principale entre php et c++
Posté par khivapia . En réponse au journal On n'est pas vendredi et pourtant : impact environnemental de nos langages. Évalué à 4.
oui, je me suis mal exprimé, je voulais dire qu'il faut comparer à utilisation similaire. L'optimisation des programmes montre qu'en général le cache instruction n'est pas le facteur limitant mais bien le cache de données (relis par exemple cpumemory.pdf d'Ulrich Drepper, aka "What every programmer should know about memory"). Donc supposer que le cache instruction est rempli dans les deux cas n'est pas une hypothèse aberrante, et on s'intéresse au cache de données.
Sauf que comme mentionné plus haut, le bytecode d'un langage interprété est plus compact que le code machine équivalent. Donc l'efficacité cache de ce bytecode est meilleure et non moins bonne.
Sauf que comme mentionné plus haut [dans mon post] même dans le cas d'un langage interprété à bytecode, dans tous les cas le code du langage interprété réside dans le cache de données et pas dans le cache d'instructions. Il a beau être compact, il prend toujours plus de place que rien du tout dans le cas du langage compilé. L'efficacité cache de données du code interprété est donc moins bonne et non meilleure.