有没有办法计算点图在 graphviz 中需要多长时间?
Is there a way to calculate how long a dot graph will take in graphviz?
有什么方法可以计算渲染点图可能需要多长时间?
我目前 运行 25,000 个节点和 42,000 个边。这需要几个小时,我想知道是放弃还是获得预计完成时间。
简答:没有。
更长的答案:您可以做一些事情来更好地理解 dot 在做什么,并使其 运行 更快。
- 在命令行中添加
-v4
(https://www.graphviz.org/doc/info/command.html#-v) 将(帮助)显示进度(没有详细记录)(4 是任意的)
- 有 5 个或更多属性可用于提高性能(mclimit、nslimit、nslimit1、remincross 和 searchsize)(再次,没有很好的记录)作为猜测,尝试将 nslimit 和 nslimit1 都设置为 2.
以下是一些指向更多性能信息的链接:
- (Linux:) 带时间戳的日志记录:https://forum.graphviz.org/t/how-to-timestamp-dot-fdp-neato-twopi-circo-v-output/654
- https://forum.graphviz.org/t/where-does-generating-the-graph-take-most-of-the-time/668/3
- https://forum.graphviz.org/t/dot-command-seems-to-never-end/958/4
- 您可能遇到了所有这些节点的“足迹”问题(节点的平方英寸太多space)至少,将输出格式设置为svg。
- 一些“无辜”的属性也可以成为杀手,例如
splines=ortho
(https://forum.graphviz.org/t/creating-a-dot-graph-with-thousands-of-nodes/1092)
- (未来)https://gitlab.com/graphviz/graphviz/-/issues/2135
25,000 个节点是相当多的节点,但 42,000 个边并没有那么多 edges/node
有了那么多节点,您还可以尝试其他一些 Graphviz 引擎(neato、fdp、circo、twopi)通常,一个或多个会 运行 快得多。
有什么方法可以计算渲染点图可能需要多长时间?
我目前 运行 25,000 个节点和 42,000 个边。这需要几个小时,我想知道是放弃还是获得预计完成时间。
简答:没有。
更长的答案:您可以做一些事情来更好地理解 dot 在做什么,并使其 运行 更快。
- 在命令行中添加
-v4
(https://www.graphviz.org/doc/info/command.html#-v) 将(帮助)显示进度(没有详细记录)(4 是任意的) - 有 5 个或更多属性可用于提高性能(mclimit、nslimit、nslimit1、remincross 和 searchsize)(再次,没有很好的记录)作为猜测,尝试将 nslimit 和 nslimit1 都设置为 2.
以下是一些指向更多性能信息的链接:
- (Linux:) 带时间戳的日志记录:https://forum.graphviz.org/t/how-to-timestamp-dot-fdp-neato-twopi-circo-v-output/654
- https://forum.graphviz.org/t/where-does-generating-the-graph-take-most-of-the-time/668/3
- https://forum.graphviz.org/t/dot-command-seems-to-never-end/958/4
- 您可能遇到了所有这些节点的“足迹”问题(节点的平方英寸太多space)至少,将输出格式设置为svg。
- 一些“无辜”的属性也可以成为杀手,例如
splines=ortho
(https://forum.graphviz.org/t/creating-a-dot-graph-with-thousands-of-nodes/1092) - (未来)https://gitlab.com/graphviz/graphviz/-/issues/2135
25,000 个节点是相当多的节点,但 42,000 个边并没有那么多 edges/node
有了那么多节点,您还可以尝试其他一些 Graphviz 引擎(neato、fdp、circo、twopi)通常,一个或多个会 运行 快得多。