J'utilise actuellement une table de hachage pour stocker une liste d'identifiants uniques et de données associées, qui sont tous lus à partir d'un fichier.Hashtable lente pour ajouter des valeurs?
La longueur de ce fichier de données peut très grandement, de 1 entrée à plusieurs centaines de milliers. J'ai remarqué un ralentissement significatif de la vitesse d'ajout d'entrées au Hashtable une fois qu'il a passé environ 50 000 entrées.
Je pense que le réglage de la capacité initiale pourrait aider, mais évidemment je ne peux pas connaître ce nombre puisque les données sont lues dans un fichier. Quelqu'un peut-il suggérer un moyen d'accélérer l'ajout de beaucoup d'entrées, ou ce comportement est-il assez normal?
edit: À l'heure actuelle, j'utilise simplement un Hashtable. Je pense qu'il devrait probablement être la chaîne Dictionary, MyDataObject, mais cela semble être un problème distinct.
Quelle classe utilisez-vous? Dictionnaire? –
Avez-vous testé si le réglage d'une grande capacité améliore les performances lorsqu'il y a beaucoup d'éléments à insérer? – AnthonyWJones
La définition de la capacité ne devrait pas avoir un grand impact - et ne devrait pas être faite lorsque vous ne savez pas combien d'entrées vous aurez (comme n'importe quoi entre 1 et 100.000+). – tanascius