Posté par mdlh .
En réponse à la dépêche LLVM 3.0.
Évalué à 3.
Pas certain de ce que j'avance pour les arch intel, mais il me semble que la cache d'instructions et de donnes sont different. Le prefetch n'affecte que le cache de donnees, donc inutile dans le cadre d'un branchement.
Par contre, une bonne prediction d'un branchement au sein meme du compilateur permet d'isoler les portions de code qui vont etre executees souvent de celles qui ne le sont pas. En regroupant les sequences d'instructions qui vont etre executee frequement, on obtient une meilleure utilisation du cache d'instruction. Dans le meme registre, dans le cas d'optimizations longues, on peut se permettre de limiter ces optimizations a ces meme instructions, et ne pas le faire sur le code infrequement utilise.
[^] # Re: Suis-je médisant ?
Posté par mdlh . En réponse à la dépêche LLVM 3.0. Évalué à 3.
Pas certain de ce que j'avance pour les arch intel, mais il me semble que la cache d'instructions et de donnes sont different. Le prefetch n'affecte que le cache de donnees, donc inutile dans le cadre d'un branchement.
Par contre, une bonne prediction d'un branchement au sein meme du compilateur permet d'isoler les portions de code qui vont etre executees souvent de celles qui ne le sont pas. En regroupant les sequences d'instructions qui vont etre executee frequement, on obtient une meilleure utilisation du cache d'instruction. Dans le meme registre, dans le cas d'optimizations longues, on peut se permettre de limiter ces optimizations a ces meme instructions, et ne pas le faire sur le code infrequement utilise.