• [^] # Re: et avec pypy ?

    Posté par . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 8.

    Le cache en CPU, fonctionne par ligne appelée ligne de cache. Celle-ci contient 4 ou plus mot de 32bits. Lorsque l'on lit une variable, le CPU demande à la RAM la valeur et en profite pour mettre dans la ligne de cache la RAM autour de la valeur demandée.
    En C et C++, sur un tableau à deux dimensions, si on a un pointeur sur la ligne 3 et la colonne 4, un pointeur++ pour voir le mot suivant en RAM donnera la valeur de la ligne 3 colonne 5 ou dans le cas de 4 colonnes, la ligne 4 colonne 1.

    En complément, pour optimiser de manière simple, on peut mettre ensemble (côte à côte) des valeurs d'une structure souvent accédée ensemble, comme ça, on a de bonne chance qu'elle soit sur la même ligne de cache et que une fois le premier champ accédé, les autres soient déjà dans le cache.