v1.0.0

Benchmarks

bongo builds a site of 10,000 Markdown pages in 2.2 seconds, about 6× faster than Astro, with a sixth of its memory. A rebuild after an edit renders only the pages that the edit reaches, so most edits build in about a quarter of a second.

These numbers come from the bench in the bongo repository, on an idle Apple M1 Max (10 cores) with 64 GB of memory, macOS, and Bun 1.4.3. Each number is the median of 5 runs, except for bongo dev, which runs once.

The site

The bench writes a site of 100 sections of 100 Markdown pages, with an index for each section, a home page, and a sitemap. Each page has a title, a summary, a date, and tags, then text, lists, tables, quotes, and code blocks. The layouts add a table of contents, a pager, tags, the stylesheet, a script, and the client runtime with view transitions and prefetch. The Markdown plugin highlights the code in 4 languages.

bongo build

build time peak memory files written
fresh 2.19 s 506 MB 10,105
no change 239 ms 217 MB 4
body edit 248 ms 220 MB 5
title edit 337 ms 280 MB 205
new page 335 ms 284 MB 206
stylesheet edit 2.19 s 608 MB 10,105
layout edit 2.17 s 606 MB 10,105

A body edit renders only its page. A title edit also renders the 100 pages of its section, since each one links its neighbours, and each section index and the sitemap, since they list every page. A stylesheet or layout edit renders every page. See Incremental builds.

This docs site, 109 files, builds in 218 ms.

bongo dev

step time memory after
first build 1.60 s 308 MB
layout edit 1.50 s 168 MB
page edit 88–95 ms 168 MB
stylesheet edit 87–89 ms 168 MB
new page 151 ms 168 MB

Memory is the footprint that Activity Monitor shows. bongo dev names each stylesheet by its entry, not by its content, so a stylesheet edit renders no page. See Dev server.

bongo and Astro

The bench also builds the same pages, layouts, and assets with Astro 7.4.1.

build time peak memory
bongo, fresh 2.19 s 506 MB
bongo, no change 239 ms 217 MB
Astro, fresh, Node 26.11 14.05 s 2,970 MB
Astro, fresh, Bun 1.4.3 12.04 s 3,082 MB
Astro, no change, Node 26.11 7.69 s 2,735 MB

A fresh build is about 6× faster than Astro: 5.5× on Bun, and 6.4× on Node. With no change, bongo is about 32× faster: Astro keeps its parsed Markdown in a cache, but it still renders every page.

Both sites have the same table of contents, pager, tags, dates, sitemap, stylesheet, script, view transitions, and prefetch. bongo highlights code with twinkleplop, and Astro with Shiki, its default. bongo writes 10,105 files, 90 MB, and Astro writes 10,106 files, 104 MB.

Run it

From the bongo repository:

Shell
bun install
bun run bench

See the bench readme for each target and option, the Astro build, and the history of each change that was measured.

Edit this page on GitHub MIT license · bongo v1.0.0

    Type to search page titles and sections.