Le tri par radix surpasse les tables de hachage : une comparaison de performances pour le comptage de valeurs uniques

Pour le problème du comptage des valeurs uniques dans un grand tableau de uint64 principalement uniques, le tri par radix, lorsqu'il est bien optimisé, est généralement plus rapide que les tables de hachage. En utilisant efficacement la bande passante mémoire et en fusionnant intelligemment le hachage avec le processus de tri, le tri par radix atteint une accélération jusqu'à 1,5 fois supérieure à celle des tables de hachage optimisées pour des ensembles de données supérieurs à 1 Mo, et jusqu'à 4 fois plus rapide que les excellentes tables de hachage « Swiss Table » de Rust. Cependant, les performances du tri par radix diminuent avec des distributions de données non uniformes ; l'utilisation d'une fonction de hachage inversible prétraite les données pour maintenir l'efficacité. L'article compare les deux méthodes pour différentes tailles de données et fréquences d'accès, et discute de la stratégie de choix entre elles dans les applications du monde réel.