しばらく前に書かれたコードを改善しようとしています。この機能はシステムのコア機能にとって非常に重要であるため、抜本的なオーバーホールには慎重です。
オブジェクトを保持するために辞書を使用しています
Dictionary<Node, int> dConnections
オブジェクトNode
自体は、多くの属性といくつかのリストを含む複雑なオブジェクトです。このディクショナリは、約 100 以上のエントリを保持する非常に大きなものになる可能性があります。
現在、辞書に次のようなノードが含まれているかどうかがチェックされています
dConnections.ContainsKey(Node)
したがって、(このノードが辞書にあるかどうかを確認するために) 辞書は、ノード全体とその属性が辞書内のノードと一致するかどうかを確認する必要があると想定しています (一致が見つかるまで、辞書を反復処理し続けます)。これはパフォーマンスに大きな影響を与えますか?
ディクショナリ内のオブジェクトを使用せずに、オブジェクト ID を使用したほうがよいでしょうか。