Framework Tracker
For a full list of what we plan to track see roadmap .
Stats are currently in active development and may change as we refine our methodology and testing process.
Dev Time Performance
Dependency Counts
Deps
Default
Prod Deps
Default
Duplicate Dependencies
Default
For full details and methodology, see Dependency Counts in Dev Time Stats.
Node Modules Size
Node modules size
Default
Node modules size (prod only)
Default
For full details and methodology, see Node Modules Size in Dev Time Stats.
Build Times
Cold build time
Default
Warm build time
Default
Build output size
Default
For full details and methodology, see Build and Install in Dev Time Stats.
Core-JS Polyfills
| Framework | ~Size | Unnecessary Modules |
|---|---|---|
| Astro | — | — |
| Mastro | — | — |
| Next.js | 110.0 KB | 302 |
| Nuxt | — | — |
| React Router | — | — |
| SolidStart | — | — |
| SvelteKit | — | — |
| TanStack Start | — | — |
For full details and methodology, see Core-JS Polyfills in Dev Time Stats.
Runtime Performance
SSR Performance
Measured on GitHub Actions (ubuntu-latest, Node 24) using custom SSR benchmark apps.
| Framework | Ops/sec | Avg Latency | Body Size | Duplication |
|---|---|---|---|---|
| Baseline HTML | 706 | 1.417ms | 96.81kb | 1x |
| Astro | 366 | 2.735ms | 99.86kb | 1x |
| Mastro | 223 | 4.485ms | 181.95kb | 1x |
| Next.js | 129 | 7.74ms | 198.59kb | 2x |
| Nuxt | 248 | 4.037ms | 201.18kb | 2x |
| React Router | 64 | 15.528ms | 211.14kb | 2x |
| SolidStart | 234 | 4.275ms | 225.49kb | 2x |
| SvelteKit | 259 | 3.858ms | 183.55kb | 2x |
| TanStack Start | 185 | 5.395ms | 193.53kb | 2x |
Ops/sec
Default
Body Size
Default
Avg Latency
Default
For full details and methodology, see SSR in Run Time Stats.
SPA Performance
First Paint (ms)
Default
First Contentful Paint (ms)
Default
Interaction to Next Paint (ms)
Default
Next.js, TanStack Start, and React Router default to SSR with no per-route
opt-out. Next.js wraps the SPA table in a dynamic import with ssr: false to prevent build-time prerendering. TanStack Start uses its built-in spa mode.
React Router disables SSR entirely via ssr: false in its config.
All other frameworks (Nuxt, SvelteKit, SolidStart, Astro) disable SSR per-route
without a separate build.