I try to add around 200k edges (of SEdge<int> type) into a AdjacencyGraph<int, SEdge<int>>.
It quickly finishes the first 10% but gets slower after that. It takes me around 20 mins to add all those edges into the graph. Below is my code. My question is, am I do anything wrong? Are there any way to speed up my process. My graph actually is a immutable
graph. But I simply use mutable graph here because it has a few working example.
userGraph = new AdjacencyGraph<int, SEdge<int>>();
userGraph.AddVertexRange(index.usermap.addr2uid.Values); // addr2uid is a dictionary contains all vertices
for (int i = 0; i < index.weights.weights.Count; i++) //index.weight.weights is another dictionary contains all Edge<>weight mappings.
{
int source = index.weights.weights.ElementAt(i).Key.source;
int target = index.weights.weights.ElementAt(i).Key.target;
SEdge<int> v_edge = new SEdge<int>(source,target);
userGraph.AddEdge(v_edge);
}
Any suggestion is highly appreciated!
