Rustworkx 对比其他库的基准测试 #

rustworkx 与其他流行的 Python 图库相比具备竞争力。我们将 rustworkx 与 igraph、graph-tools 和 NetworkIt 库进行了对比 在一项包含四个任务的基准测试中,该测试可在 Github 上找到以确保可重现性。我们报告的结果来自一台配备 Intel(R) i9-9900K CPU(3.60GHz,八核,16线程)和 32GB 内存的机器。

图形创建#

第一个使用基准包括创建带有各自节点和边的图。我们比较了从第九届DIMACS挑战数据集(Demetrescu等人,2009年)创建代表美国道路网络图所需的时间。

_images/creation.svg

单源最短路径#

第二个基准测试是计算加权图中两个节点之间的距离。我们比较了在USA道路网络中计算第一个与最后一个节点之间距离的时间,数据同样来源于第九届DIMACS挑战赛(Demetrescu等人,2009)。关于被基准测试的函数,请参见dijkstra_shortest_path_lengths()获取更多信息。

_images/single_source_shortest_path.svg

所有节点对最短路径#

第三个基准测试是计算加权图中所有节点之间的距离。我们比较了在罗马城市道路网络中计算所有节点间距离的时间,这是另一个来自第九届DIMACS挑战赛的数据集(Demetrescu等人,2009年)。有关被测试函数的更多信息,请参见all_pairs_dijkstra_path_lengths()

_images/all_pairs.svg

子图同构#

最后,第四个基准测试关注图同构问题。我们比较的时间是从ARG数据库中抽取的图对,用于判断是否为子图同构关系 (De Santo et al., 2003)。了解更多关于被基准测试函数的信息,请参见 is_subgraph_isomorphic()

_images/subgraph_isomorphism.svg

引用#