Recherche de la taille du bloc de cache
Question
Comment puis-je trouver la taille du bloc de cache dans Ubuntu, par programmation (avec C ++) ou autrement?
La solution
Vous pouvez le trouver dans /proc/cpuinfo
;cache size
pour la taille totale et cache_alignment
pour la taille du bloc.
Autres conseils
Une façon est de remplir un std::vector
ou juste un tableau simple avec des valeurs aléatoires, et de faire quelque chose de simple, par exemplecarré chaque élément dans une boucle.
Mesurez ensuite le temps d'exécution en fonction de la longueur du vecteur.
Vous verrez très clairement un saut dans le temps d'exécution une fois que votre vecteur ne rentre pas dans le cache.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow