Commit b952eba67c
Unsigned
Layout: unified · split
README.md +18 −8
| @@ -82,21 +82,31 @@ hundreds of them stays instant. | |||
| 82 | 82 | ||
| 83 | ## Speed | 83 | ## Speed |
| 84 | 84 | ||
| 85 | Publishing one real site — 178 org files, ~180 pages — with the generator it uses today | 85 | Publishing one real site — 178 org files, ~180 pages — three ways. Median of three runs |
| 86 | and with orgo. Median of three runs each, same machine, same moment: | 86 | each, measured back to back on one machine: |
| 87 | 87 | ||
| 88 | | | Time | | | 88 | | | Time | | |
| 89 | |---|---|---| | 89 | |---|---|---| |
| 90 | | weblorg (`emacs --script publish.el`) | 50.1s | | | 90 | | weblorg (`emacs --script publish.el`) | 49.0s | | |
| 91 | | orgo, cold build | **0.21s** | 239× faster | | 91 | | the same, plus the build script wrapped around it | 50.3s | | |
| 92 | | orgo, nothing changed since last build | **0.13s** | 385× faster | | 92 | | orgo, cold build | **0.22s** | 223× faster | |
| 93 | 93 | | orgo, nothing changed since last build | **0.13s** | 377× faster | | |
| 94 | Read that with three things in mind. The weblorg figure includes Emacs starting up and | 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 | loading its packages, which you pay on every publish and cannot avoid. orgo emits 13 pages | 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 | produce byte-identical output — the differences are deliberate and listed under | 104 | produce byte-identical output — the differences are deliberate and listed under |
| 98 | [Org support](https://krazywarez.github.io/orgo/guide/05-org-support.html). | 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 | Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`. | 110 | Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`. |
| 101 | 111 | ||
| 102 | ## The documentation | 112 | ## The documentation |