Le code optimisé pour le cache est bien plus rapide que vous ne le pensez
Les programmeurs se concentrent souvent sur la complexité algorithmique, négligeant l'impact de la hiérarchie de mémoire du matériel moderne sur les performances. Cet article compare expérimentalement les différences de performances entre l'accès mémoire séquentiel, indirect et aléatoire. Les résultats montrent que l'accès séquentiel est le plus rapide, tandis que l'accès aléatoire est un ordre de grandeur plus lent. L'optimisation des schémas d'accès mémoire est cruciale pour les performances ; même les opérations simples obtiennent des gains importants grâce à une disposition mémoire optimisée. L'article conseille de prendre en compte les schémas d'accès mémoire lors de la conception des structures de données et des algorithmes, par exemple, en plaçant les données fréquemment utilisées de manière contiguë en mémoire pour tirer parti du cache du processeur et éviter les ratés de cache.