Vibing the nite away
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
Und so viel schneller ist es:
Single file (one diagram, cold per-call startup)
| Tool | Time per render | Relative |
|---|---|---|
| mmdc | ~0.69 s | 1× |
| gmaid | ~0.037 s | ~18.9× faster |
Batch of 10 files (per-file -i invocation loop)
| Tool | Total (10 files) | Per file | Relative |
|---|---|---|---|
| mmdc | 7.36 s | ~736 ms | 1× |
| gmaid | 0.49 s | ~49 ms | ~15.0× faster |
Flowchart
Vorher (mermaid)
Nacher (gmaid)
Sequence
Vorher (mermaid)
Nacher (gmaid)
Gantt
Vorher (mermaid)
Nacher (gmaid)





