terrastruct / TALA

A diagram layout engine designed specifically for software architecture diagrams
https://terrastruct.com/tala
Other
197 stars 4 forks source link

Crashes when rendering large diagram (~1000 nodes, ~1500 edges) #86

Closed notfoundry closed 5 days ago

notfoundry commented 6 days ago

I'm evaluating using the TALA layout engine to model various software architectures for my work. I just tried using the d2 CLI to render a very simple (topologically speaking) model of a component's source tree, where source files are parent containers for functions / variables, totaling about 1000 nodes and 1500 edges. The DAGRE and ELK layouts handle this with no issues, but switching to the TALA layout results in the layout processes consistently being killed in the "Compiling and running layout algorithms" phase after a few minutes with the opaque error message "signal: killed". I've tried rendering in the online Terrastruct editor too, which resulted in a "loading" box that hasn't disappeared for hours.

Enabling debug output does not provide any additional information, and the machine doing the rendering has more than enough memory (I thought it may have been the OOM killer). Is this a known issue with large diagrams?

alixander commented 5 days ago

Indeed, D2 in general is not designed for that size. https://d2lang.com/tour/design/#whiteboard-fit