Question

Je suis à la recherche d'une mise en œuvre de IDictionary avec une meilleure performance de l'une norme BCL.

Je cherche quelque chose avec le temps de recherche constante qui effectue vraiment bien avec un grand nombre d'éléments (> 10K) et est plus GC amicale.

Ps: Non, je ne suis pas capable d'écrire un seul:)

Était-ce utile?

La solution

Je n'ai pas été en mesure de la mise en œuvre de référence, mais une alternative - et plus complète - sélection des classes de collections génériques est disponible à l'Université de Copenhague ici:

http://www.itu.dk/research/c5/

Ils offrent un certain nombre d'implémentations de dictionnaire génériques avec différentes solutions de support (arbres, etc. Hashtables) Il se peut que l'un de ces convient à vos besoins. La performance a été un facteur primordial dans le développement de cette bibliothèque de classes.

Bien sûr, je vous recommande d'essayer la classe Dictionnaire générique BCL premier, car il vous permettra d'économiser du temps et peut répondre à vos besoins de performance très bien.

Autres conseils

Le dictionnaire BCL effectue déjà avec le temps constant amorti et peut facilement gérer 10K éléments.

Vous dites qu'il devrait être « plus GC friendly » - ce qui vous tracasse au sujet de la version actuelle

Êtes-vous d'ajouter des éléments au dictionnaire fréquemment? Si oui, créez avec une grande capacité initiale pour éviter le taux de désabonnement.

Je pense que vous serez difficile de trouver un dictionnaire géré qui est plus rapide que la BCL un. J'ai essayé d'écrire, et je trouve rapidement c'est à peu près aussi vite qu'il va obtenir lorsque vous lisez l'équilibre \ les performances d'écriture.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top