gitmyhub

ssr-benchmark

★ 27 updated 2y ago ⑂ fork

Benchmarking JS web framework SSR performance

A benchmark comparing server-side rendering speed across JavaScript frameworks like Next.js, Nuxt, Remix, and SvelteKit, rendering a 1,000-row table with async data.

Next.jsNuxtRemixSvelteKitReactsetup: moderatecomplexity 2/5

SSR Framework Benchmark Explanation

This repository measures how fast different JavaScript web frameworks can render web pages on the server. Server-side rendering (SSR) is when your server builds the complete HTML page and sends it to the browser, rather than making the browser do the work. The benchmark tests popular frameworks like Next.js, Nuxt, Remix, and SvelteKit to see which ones are quickest at this task.

The test itself is fairly realistic: each framework renders a table with 1,000 rows, where the data comes from an async source (simulating a database call). The benchmark runs on a MacBook Pro M1 and measures how many times per second each framework can complete this render, how long it takes on average, and how large the HTML response is. The creator disabled Next.js's built-in caching so the comparison measures actual rendering work, not static file serving.

The results show a wide range of performance. Plain React is the fastest at rendering (779 operations per second), serving as a baseline. SvelteKit comes next at about 1.3x slower, followed by Remix and Nuxt. Next.js's newer App Router is significantly slower—roughly 15 times slower than vanilla React. The benchmark also includes a separate table comparing lower-level renderers, where Marko and Kita outperform the full frameworks because they're simpler and don't include all the extra features that frameworks add.

Who would find this useful? A founder or engineer choosing between frameworks for a high-traffic website would want to know these performance differences, especially if server load or response speed matters. The README explicitly notes this is "not comprehensive or scientific," so it's more of a real-world snapshot than a definitive benchmark. The test setup is intentionally practical—rendering actual async data and measuring the HTML size—which makes it relevant to people building actual web applications rather than just "hello world" demos.

Where it fits