Comme les performances décroîssent principalement à cause des accès mémoire non servis par le cache (cache misses) lorsque la table grossit, j'ai eu l'idée d'utiliser des « pointeurs étiquetés » (tagged pointers) pour éviter de déréférencer des pointeurs menant à des emplacements qui ne correspondent pas à la clé insérée/recherchée.
Le résultat est très bon, je fais maintenant jeu égal avec khash jusqu'à ~800.000 clés et abseil ne me rattrape qu'à partir de 8 millions de clés.
# Pointeurs étiquetés
Posté par JaguarWan . En réponse au journal À table !. Évalué à 3.
Comme les performances décroîssent principalement à cause des accès mémoire non servis par le cache (cache misses) lorsque la table grossit, j'ai eu l'idée d'utiliser des « pointeurs étiquetés » (tagged pointers) pour éviter de déréférencer des pointeurs menant à des emplacements qui ne correspondent pas à la clé insérée/recherchée.
Le résultat est très bon, je fais maintenant jeu égal avec khash jusqu'à ~800.000 clés et abseil ne me rattrape qu'à partir de 8 millions de clés.
Pointeurs étiquetés