Cela signifie que sur des entiers de 32 bits les matrices en dessous de ×ばつ64 tiennent dans un
cache L1, puis dans L2 jusqu'à ×ばつ128, puis L3 jusqu'à ×ばつ512.
Au delà il faudra aller chercher les données en RAM.
En fait, la situation est pire encore: au delà, on se paye des défaut de cache et on perd des centaines de cycles.
Reste à voir si les performances sont meilleures parce qu’on a supprimé les branches, ou parce que l'on a réussi à se coller pile poil à la taille des caches...
Après, ça devient compliqué puisque l'on optimise en fonction du hardware qui tourne en dessous.
# du pourquoi du comment
Posté par David Marec . En réponse au journal Exercices de programmation et benchmarks. Évalué à 4.
En fait, la situation est pire encore: au delà, on se paye des défaut de cache et on perd des centaines de cycles.
Reste à voir si les performances sont meilleures parce qu’on a supprimé les branches, ou parce que l'on a réussi à se coller pile poil à la taille des caches...
Après, ça devient compliqué puisque l'on optimise en fonction du hardware qui tourne en dessous.