Gernots Nachtgedanken

Gedanken zur Nacht

Vibing the nite away

2026-10-13 Build Gernot Glawe

Mit Mermaid kann man ja hervorragende Diagramme machen. Dachten wir auch und haben eine Dokumentation gespickt mit Diagrammen. Problem ist: Murmelt ist langsam. Damit hat dann die Generation der Diagramme ganz, ganz lange gedauert. So, was Microsoft mit TypeScript kann, kann ich ja schon lange. Na gut, Claude und ich. Replacing everything with GO.

Ja, was macht man heutzutage? Man ersetzt einfach das Programm. Deswegen: goodbye Mermaid, hello gmaid.

Entstehungsgeschichte

Nachdem ich einfach ganz viele Beispiele für die verschiedenen Dokumente hatte, habe ich die mit Namen und Texten aus der Hobbit anonymisiert. Denn für das Layout ist ja nur die Länge der Namen zuständig. Insofern haben wir jetzt ganz viele Sequenzdiagramme, was halt Bilbo und seine Freunde machen.

Ergebnisse

gmaid

Und so viel schneller ist es:

Single file (one diagram, cold per-call startup)

ToolTime per renderRelative
mmdc~0.69 s1×
gmaid~0.037 s~18.9× faster

Batch of 10 files (per-file -i invocation loop)

ToolTotal (10 files)Per fileRelative
mmdc7.36 s~736 ms1×
gmaid0.49 s~49 ms~15.0× faster

Flowchart

Vorher (mermaid)

Flowchart gerendert mit mermaid

Nacher (gmaid)

Flowchart gerendert mit gmaid

Sequence

Vorher (mermaid)

Sequenzdiagramm gerendert mit mermaid

Nacher (gmaid)

Sequenzdiagramm gerendert mit gmaid

Gantt

Vorher (mermaid)

Gantt-Diagramm gerendert mit mermaid

Nacher (gmaid)

Gantt-Diagramm gerendert mit gmaid