En plus il faut prendre en compte le fait que chaque version du compilo peut changer l'heuristique, donc un code qui faisait du loop unrolling peut ne plus le faire.
J'imagine que c'est encore pire pour le C où il y a plein de compilos différents avec chacun leur heuristique pour faire le loop unfolding...
Bref ça semble légitime d'avoir un inline for pour s'assurer que le comportement est bien celui attendu, typiquement si on est sur une plateforme embarquée ou la place/puissance est comptée.
[^] # Re: Optimisation explicite ?
Posté par G.bleu (site web personnel) . En réponse à la dépêche De Zig et des zags. Évalué à 3.
Cette histoire de
inline form'a aussi encouragé à creuser, et il semblerait que le compilo fait parfois des choses inattendues.Par exemple en Rust, il ne faut pas utiliser la variable d'incrément dans une boucle for.
En plus il faut prendre en compte le fait que chaque version du compilo peut changer l'heuristique, donc un code qui faisait du loop unrolling peut ne plus le faire.
J'imagine que c'est encore pire pour le C où il y a plein de compilos différents avec chacun leur heuristique pour faire le loop unfolding...
Bref ça semble légitime d'avoir un
inline forpour s'assurer que le comportement est bien celui attendu, typiquement si on est sur une plateforme embarquée ou la place/puissance est comptée.