• [^] # Re: Python

    Posté par . En réponse à la dépêche OpenJDK JEP 180: HashMap, collisions & attaques par la complexité. Évalué à 4.

    Il faut relire la discussion complète (ce ticket, mais également la liste de discussion python-dev). Il me semble que cette option a été rejeté pour plusieurs raisons. Dave Malcolm a par exemple noté que l' "AVL tree" ne permet pas d'utiliser des types arbitraires comme clés (ou plutôt que l'AVL tree s'y prête mal).

    En fait le problème est simple : avec un dictionnaire implémenté par une table de hachage, il suffit que les éléments supportent l'égalité (eq), relation d'équivalence. Pour une implémentation par arbre de recherche, il faut qu'ils soient mutuellement comparables (cmp ou @total_ordering), relation d'ordre. Donc par exemple ça ne fonctionnerait pas si on mélange des datetime.date et datetime.datetime (ce qui est une mauvaise idée, mais c'est un exemple).