Pour info dans le cas de l'Itanium c'est bien le compilateur qui s'en soucie et qui va (tenter d')annoncer au processeur "tiens compte du branchement qui suit".
Vi mais c'est pas tous les jours qu'on code sur Itanium... D'ailleur si j'ai bien suivit c'est un peu une "horreur" à optimiser ce bousin... Enfin c'est ce qui fait son charme :)
l etablit des statistiques sur les instructions executee dans le passe et il s'en souvient quand il revient dessus?
Bah me semble qu'il y a des architectures qui cherchent à prédire un branchement en fonction des instructions précédentes : c'est pertinent dans une boucle ou par exemple la condition de fin n'est vérifiée qu'une fois, mais je voulais dire que je n'était pas sûr de l'intérêt du truc dans le cas d'une fonction.
Effectivement il peut être intéressant de chercher à indiquer au compilo quelle partie du code risque de brancher pour le "guider" (puisque n'étant pas dans un boucle il aura du mal à prédir), mais comment l'indiquer au processeur ? (à part avec l'Itanium)
Quelle instruction du langage utilises-tu ? Ton code risque d'être spécifique à un compilo et/ou une plateforme...
Enfin pour moi y'a qu'un seul truc dans les langages de programmations qui indiquent ce genre de comportement : les exceptions.
Si tu as plus d'infos sur ce sujet ça m'intéresse.
[^] # Re: Hmm :/
Posté par TImaniac (site web personnel) . En réponse au journal Entretient du noyau Linux. Évalué à 3.
Vi mais c'est pas tous les jours qu'on code sur Itanium... D'ailleur si j'ai bien suivit c'est un peu une "horreur" à optimiser ce bousin... Enfin c'est ce qui fait son charme :)
l etablit des statistiques sur les instructions executee dans le passe et il s'en souvient quand il revient dessus?
Bah me semble qu'il y a des architectures qui cherchent à prédire un branchement en fonction des instructions précédentes : c'est pertinent dans une boucle ou par exemple la condition de fin n'est vérifiée qu'une fois, mais je voulais dire que je n'était pas sûr de l'intérêt du truc dans le cas d'une fonction.
Effectivement il peut être intéressant de chercher à indiquer au compilo quelle partie du code risque de brancher pour le "guider" (puisque n'étant pas dans un boucle il aura du mal à prédir), mais comment l'indiquer au processeur ? (à part avec l'Itanium)
Quelle instruction du langage utilises-tu ? Ton code risque d'être spécifique à un compilo et/ou une plateforme...
Enfin pour moi y'a qu'un seul truc dans les langages de programmations qui indiquent ce genre de comportement : les exceptions.
Si tu as plus d'infos sur ce sujet ça m'intéresse.