Graphviz(neato)在处理具有 50,000 个顶点的树时发生段错误

Graphviz(neato)在处理具有 50,000 个顶点的树时发生段错误

我有一个 5MB 的 .gv 文件,其中包含 50,000 个节点树的边缘。我已在其上运行 neato(使用几种输出格式)。.g​​v 文件由贤者数学(内置Graph.show方法未终止)。

我得到的信息如下:

neato(2258,0x108a0d5c0) malloc: *** set a breakpoint in malloc_error_break to debug out of memory
fish: 'neato 11.gv -Tsvg > 11.svg' terminated by signal SIGSEGV (Address boundary error)

这种尺寸的图对于 graphviz 来说是否太大了?我认为这种尺寸的密集图的布局会非常混乱/缓慢,甚至不可行,但我认为树很容易布局。我可以想到一些非常简单的布局算法;我只是更喜欢使用我安装的命令行工具。

此外,如果有人认为其他 SE 网站更适合,请添加评论,谢谢!

编辑:

我刚刚发现了 sfdp。我会尝试一下,如果问题解决了,我会发布答案。

答案1

看来切换到sfdp解决了这个问题。输出在不到一分钟的时间内生成(虽然默认设置无法读取;必须对此进行调整)。

相关内容