Documentation performance at scale: 900 pages, one scroll
900 pages, one scroll
The numbers
Why it stays fast
See the same engine live
900 pages, one scroll Most documentation tools are comfortable at ten pages and negotiable at a hundred. We wanted a number that ends the negotiation, so we built a torture test a 913-page Doxygen reference — 15.5 MB of generated HTML, three quarters of a million DOM nodes of source material — and fed it to the same engine that serves this site. It renders as one scrolling document . The numbers Measured end to end on a mid-range laptop, not a tuned server What Measured --- --- Reference size 913 pages · 15.5 MB source HTML · 750K DOM nodes of input One-time import 60 s , once, at upload Every content rebuild after that reference untouched — a 0.1 s maintenance pass Server response for the whole document 110 ms to first byte, full text of all 913 pages inlined Browser time to interactive 0.3 s Full scroll rendered seconds, in the background, while you already read The document itself 380K DOM nodes · a 7.3-million-pixel scroll · 45 MB of JS heap Jump to page 913 of 913 instant Why it stays fast - Parse once, serve forever. A reference is ingested at upload and cached. Saving a Markdown page, editing SEO fields, reordering the sidebar — none of it re-parses your SDK. The engine's rebuild pass walks the cached reference in a tenth of a second. - The server does the reading. The document's one URL answers with the complete text of every section already inlined — which is also why crawlers and AI assistants index the whole reference from a single request instead of crawling 913 URLs. - One document, not 913 round-trips. Page-per-click tools pay a network round-trip and a fresh render for every page a reader opens. A scroll-layout domain pays once after the first paint you're scrolling memory, not the network. - Scroll-spy that scales. The sidebar tracks your position through hundreds of anchors without breaking a sweat — a full-document DOM query on the rendered result takes under 20 ms. See the same engine live The benchmark bundle is synthetic — invented identifiers, lorem prose — because we benchmark on generated content, never on a customer's. The engine, though, is exactly the one behind this site - cJSON — a real C library ingested from Doxygen, call graphs and all. - Banking GraphQL — a schema rendered as a scroll-spy reference. - Pets — an OpenAPI spec as one document, prose woven in. Bring a bigger one. If your SDK reference is the thing every docs tool has choked on, that's the demo we'd most like to run. [!IMPORTANT] Want this on your own documentation? Write to docs@dsr-corporation.com. Ask about migration, licensing, or anything this page didn't cover.