El benchmark renderiza exactamente el mismo bloque interactivo
stats-01-animated con React 19.2.7 y Tailwind 4.3.2 en cuatro builds de
producción. Mide el coste de entrega de un grafo real; no pretende ordenar todos
los frameworks de forma universal.
| Framework | Build ms | Cliente gzip | JS transferido | Hidratación lista | LCP | TTFB |
|---|---|---|---|---|---|---|
| Next.js | 5436,2 | 184,6 KiB | 143,5 KiB | 1254,3 ms | 468 ms | 2,3 ms |
| Vite | 621,4 | 73,2 KiB | 69,6 KiB | 822,4 ms | 832 ms | 1,3 ms |
| Astro | 1586,2 | 74,6 KiB | 71,5 KiB | 981,9 ms | 400 ms | 1,5 ms |
| TanStack Start | 1208,2 | 112 KiB | 108,7 KiB | 1043,3 ms | 424 ms | 3,2 ms |
Mediana de 5 ejecuciones. Generado 29 ago 2026, 10:33 UTC — Apple M2(8 núcleos lógicos). Menos es mejor. Versiones exactas: Next.js 16.3.3, Vite 8.2.2, Astro 7.2.9, TanStack Start 1.168.49.
Perfil
Cada framework obtiene un build limpio y cinco contextos nuevos de Chromium. Chrome DevTools Protocol aplica una ralentización de CPU 4×, latencia de ida y vuelta de 150 ms, descarga de 195.3 KiB/s y subida de 91.6 KiB/s. La tabla muestra medianas.
- Cliente gzip suma JS y CSS de producción comprimidos. Excluye el servidor.
- JS transferido procede de Resource Timing con la caché desactivada.
- Hidratación lista es
performance.now()en el primer efecto React del escenario común. En Vite incluye el primer render; en SSR/HTML estático marca la hidratación. - LCP y TTFB vienen de las API Performance bajo el mismo perfil.
Reproducir
El workspace aislado vive en benchmarks/frameworks y fija exactamente cada
framework. Desde la raíz:
cd benchmarks/frameworks
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm benchmark
Antes de cada ejecución, el harness copia el bloque actual y sus dependencias
transitivas a un directorio generado ignorado. Los cuatro fixtures compilan así
el mismo código sin copias divergentes. El perfil, host, versiones, muestras y
resultados crudos quedan en results/latest.json.
Compara cambios solo entre ejecuciones con el mismo host y perfil. Estos servidores locales no miden caché CDN, arranques fríos serverless, topología de red de producción ni experiencia de desarrollo.