Граф-инструмент на удивление медленный по сравнению с Networkx
Посмотрев на впечатляющийсравнение производительностиЯ решил, что попробую использовать Graph-Tool. Поэтому для сравнения я написал коды для генерации случайного дерева, используя оба пакета.
Код графического инструмента:
import numpy as np
import graph_tool.all as gt
# construct an initial graph with two nodes and one link
n = 5000
G = gt.Graph(directed = False)
G.add_edge(0, 1)
for t in range(2, n):
# connect the new vertex to one of the old vertices randomly
G.add_edge(np.random.choice(range(t)), t)
Код Networkx:
import networkx as nx
import numpy as np
n = 5000
# initial graph
G = nx.Graph()
G.add_edge(0, 1)
for t in range(2, n):
G.add_edge(t, np.random.choice(range(t)))
Graph-tool на моем 4-ядерном компьютере занимает около 14 секунд, тогда как networkx на этой же машине занимает менее 2 секунд! Я что-то упускаю из виду?
Заранее спасибо.