在查看了令人印象深刻的性能比较之后,我决定尝试使用图形工具。因此,为了比较,我编写了代码来使用这两个包生成随机树。
图形工具代码:
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)))
图形工具在我的 4 核机器上大约需要 14 秒,而 networkx 在同一台机器上只需要不到 2 秒!我错过了一些明显的东西吗?
提前致谢。