On 27.04.2015 14:29, thekswenson wrote:
I've been using networkx to simply create a graph and check the connected components. The bottleneck of the operation is the creation of the edges.
I've heard that graph-tool is very efficient so I've replaces the code with a graph-tool graph. To my surprise, the creation of a graph-tool graph is MUCH slower than that of a networkx graph.
Am I doing something wrong?
How does the performance change if you create the necessary edges beforehand? In graph-tool things are faster than in networkx when they are delegated to C++, otherwise this should be comparable in speed. In the case of adding many edges, this is done by using the Graph.add_edge_list() function, which runs in C++ internally. In your example, this should provide a massive speed-up. Best, Tiago -- Tiago de Paula Peixoto <tiago@skewed.de>