J'essaie d'améliorer un code qui a été écrit il y a longtemps. la fonction est assez importante pour la fonctionnalité de base du système, donc je suis prudent à propos d'une refonte drastique.Amélioration des performances du dictionnaire
J'utilise un dictionnaire pour tenir des objets
Dictionary<Node, int> dConnections
L'objet Node
est en soi un objet complexe contenant de nombreux attributs et des listes. Ce dictionnaire peut devenir assez volumineux avec environ 100 entrées ou plus.
Actuellement, le dictionnaire est en cours de vérification si elle contient un noeud comme
dConnections.ContainsKey(Node)
donc je présume que (pour vérifier si ce noeud est dans le dictionnaire) le dictionnaire devra vérifier si le nœud entier et ses attributs correspondent à un nœud dans le dictionnaire (il continuera à parcourir le dictionnaire jusqu'à ce qu'il trouve une correspondance) et cela aura un impact majeur sur les performances? Je ferais mieux de ne pas utiliser un objet dans le dictionnaire et d'utiliser plutôt l'identifiant d'objet.
Si je vous lis, demandez "si le code suivant améliorerait radicalement les performances", mais dites seulement comment ça fonctionne actuellement ... Il n'y a pas vraiment de question ici ... – Chris
Désolé c'est ma mauvaise, Je devrais d'écrire dans le contexte de mon programme. –
Pouvez-vous nous montrer l'implémentation de 'Node' et c'est' GetHashCode'? –