mercredi 14 décembre 2011

Murf

C'était bien la peine de passer une heure à faire des benchmarks. J'utilisais au boulot un boost::unordered_set d'entiers, avec des performances très décevantes, et l'on m'avait recommandé de remplacer la fonction de hachage par défaut avec MurmurHash, avec des résultats tout à fait impressionnants. J'ai donc tenté de les reproduire à la maison, mais, étrangement, ce fut impossible... La version standard de l'unordered_set est légèrement plus lente dans la bibliothèque standard que chez Boost, mais surtout, l'utilisation de MurmurHash plombe les performances très sérieusement.

Avec des chaines de caractères, par contre, MurmurHash commence à montrer les dents, et se montre plus rapide. Étrangement, dans ce cas, le hashset de la bibliothèque standard est plus rapide.

J'ai dû rater quelque chose, mais quoi?

Aucun commentaire: