Commit b952eba67c
Unsigned
Layout: unified · split
README.md +18 −8
| @@ -82,21 +82,31 @@ hundreds of them stays instant. | ||
| 82 | 82 | |
| 83 | 83 | ## Speed |
| 84 | 84 | |
| 85 | Publishing one real site — 178 org files, ~180 pages — with the generator it uses today | |
| 86 | and with orgo. Median of three runs each, same machine, same moment: | |
| 85 | Publishing one real site — 178 org files, ~180 pages — three ways. Median of three runs | |
| 86 | each, measured back to back on one machine: | |
| 87 | 87 | |
| 88 | 88 | | | Time | | |
| 89 | 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 | ||
| 94 | Read that with three things in mind. The weblorg figure includes Emacs starting up and | |
| 90 | | weblorg (`emacs --script publish.el`) | 49.0s | | | |
| 91 | | the same, plus the build script wrapped around it | 50.3s | | | |
| 92 | | orgo, cold build | **0.22s** | 223× faster | | |
| 93 | | orgo, nothing changed since last build | **0.13s** | 377× faster | | |
| 94 | ||
| 95 | That middle row is the interesting one. weblorg alone does not group a blog index by year, | |
| 96 | write a tags page, rewrite image URLs, minify CSS or emit a sitemap — so the site's owner | |
| 97 | wrote ~600 lines of Python to do those on top of it, and pays for the whole publish again | |
| 98 | every time. orgo does the first three natively, minification is a build step either way, | |
| 99 | and *it has no sitemap yet* — that one is a real gap, not a win. | |
| 100 | ||
| 101 | Read the numbers with three things in mind. The weblorg figures include Emacs starting and | |
| 95 | 102 | loading its packages, which you pay on every publish and cannot avoid. orgo emits 13 pages |
| 96 | weblorg does not (one per tag), so it is doing slightly more work. And the two do not | |
| 103 | weblorg does not, one per tag, so it is doing slightly more work. And the two do not | |
| 97 | 104 | produce byte-identical output — the differences are deliberate and listed under |
| 98 | 105 | [Org support](https://krazywarez.github.io/orgo/guide/05-org-support.html). |
| 99 | 106 | |
| 107 | Deployment is excluded from every row: it is an rsync over someone's network, which | |
| 108 | measures the network. | |
| 109 | ||
| 100 | 110 | Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`. |
| 101 | 111 | |
| 102 | 112 | ## The documentation |