Retour au sujet

Avatar de FUMFz FUMFz
++i peut introduire un dépendance de données dans le microcode exécuté et empêcher l'exécution parallèle du microcode.

Par exemple dans (i++ * 2) la multiplication peut être parallélisé avec l'incrémentation, pas dans (++i * 2).

Dans une boucle for ça change rien tant que l'incrémentation n'a pas lieu dans la condition d'arrêt (exemple : for(int i=-1; ++i < n ; ) génère une dépendance de donnée).

Pour gagner (un peu) en performance il est plus utile de décrémenter. La comparaison à zero est plus simple et peu sauver un registre.
#766091