Graphviz (neato) segfault при обработке дерева с 50000 вершин

У меня есть 5 МБ.gv файл с краями для дерева 50000 узлов. Я запустил Neato на нем (с несколькими выходными форматами). Файл.gv был сгенерирован SageMath (встроенный 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)

Является ли этот размерный график слишком большим для графвиза? Я предполагаю, что макет для плотного графа такого размера будет очень грязным / медленным, даже неосуществимым, но я предположил, что дерево будет легко компоноваться. Я могу подумать о некоторых очень простых алгоритмах компоновки в макушке; Я просто предпочел бы использовать инструмент командной строки, который я установил.

Также, если кто-то думает, что другой сайт SE подойдет лучше, добавьте комментарий, спасибо!

редактировать:

Я только что узнал о SFDP. Я попробую это и отправлю ответ, если проблема решена.

1 ответ

Решение

Похоже, что переход на sfdp решил эту проблему. Вывод генерируется менее чем за минуту (хотя он не доступен для чтения с настройками по умолчанию; с этим придется возиться).

Другие вопросы по тегам