En général c'est une bonne idée pour garder les boucles internes bien proportionné à la taille de cache le plus fréquemment rencontré. C'est, si votre programme traite les données dans des morceaux de, disons, moins de 32kbytes à un moment et à un montant décent de travail, alors vous êtes à la bonne utilisation du cache L1.
En revanche, si votre intérieur chaud en boucle à mâcher à travers 100MByte de données et effectue une seule opération sur chaque élément de données, puis le CPU va passer la plupart du temps, de l'extraction de données à partir de la mémoire DRAM.
Ceci est important car une partie de la raison Processeurs direction de la prévision, en premier lieu, pour être en mesure de pré-extraction des opérandes de l'instruction suivante. Les conséquences des performances d'une branche mal de prédiction peut être réduit par l'organisation de votre code pour qu'il y ait une bonne chance que la prochaine proviennent les données de cache L1 n'importe quelle branche est prise. Bien que n'étant pas une stratégie parfaite, le cache L1 tailles semblent être universellement coincé sur 32 ou 64 KO; c'est presque une constante chose dans l'industrie. Certes, le codage de cette façon n'est pas souvent simple, et en s'appuyant sur le profil de conduit d'optimisation, etc. comme recommandé par les autres, est probablement la façon la plus simple de l'avant.
Indépendamment de toute autre chose, que ce soit ou pas un problème avec la direction de la mauvaise prédiction va se produire varie en fonction de la cache du CPU tailles, quoi d'autre est en cours d'exécution sur la machine, ce que la mémoire principale de la bande passante et la latence, etc.