krz/orgo

Lightning fast org-mode static site generator. fast go org-mode static-site-generator

Commit 82f32f7a42

82f32f7a429367488954da8f4b1d4e0a6f65f98c

parent: 8f2e5195bc

Unsigned

cmc <hello@cleberg.net> · 2026-08-11 22:56 UTC

Record a speed comparison against weblorg

Both generators, one real site, same machine, same moment: 178 org files through
`emacs --script publish.el` and through `orgo build`. Median of three runs each,
and the variance was nil — weblorg landed on 50.03, 50.11, 50.10.

50.1s against 0.21s cold, 0.13s with nothing changed.

The table says what it is measuring, because a benchmark that does not is an
advertisement. weblorg's number includes Emacs starting and loading its packages
— unavoidable per publish, so it belongs in the figure. orgo emits 13 pages
weblorg does not. And the two outputs are not byte-identical.

Layout: unified · split

README.md +19
@@ -80,6 +80,25 @@ Each of these is a few lines of config, and each has a page in the guide:
8080Rebuilds only touch the pages that actually changed, so saving a post on a site with
8181hundreds of them stays instant.
8282
83## Speed
84
85Publishing one real site — 178 org files, ~180 pages — with the generator it uses today
86and with orgo. Median of three runs each, same machine, same moment:
87
88| | Time | |
89|---|---|---|
90| weblorg (`emacs --script publish.el`) | 50.1s | |
91| orgo, cold build | **0.21s** | 239× faster |
92| orgo, nothing changed since last build | **0.13s** | 385× faster |
93
94Read that with three things in mind. The weblorg figure includes Emacs starting up and
95loading its packages, which you pay on every publish and cannot avoid. orgo emits 13 pages
96weblorg does not (one per tag), so it is doing slightly more work. And the two do not
97produce byte-identical output — the differences are deliberate and listed under
98[Org support](https://krazywarez.github.io/orgo/guide/05-org-support.html).
99
100Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`.
101
83102## The documentation
84103
85104<https://krazywarez.github.io/orgo/>