Skip to content
Logic2BUI

Search docs

Search components and documentation

New
Menu

Framework Benchmarks

A public, reproducible comparison of the same logic2b block in Next.js, Vite, Astro and TanStack Start.

The benchmark renders the exact same interactive stats-01-animated registry block with React 19.2.7 and Tailwind 4.3.2 in four production builds. It measures delivery overhead for one real component graph; it is not a universal framework ranking.

FrameworkBuild msClient gzipJS transferredHydration readyLCPTTFB
Next.js5,436.2184.6 KiB143.5 KiB1,254.3 ms468 ms2.3 ms
Vite621.473.2 KiB69.6 KiB822.4 ms832 ms1.3 ms
Astro1,586.274.6 KiB71.5 KiB981.9 ms400 ms1.5 ms
TanStack Start1,208.2112 KiB108.7 KiB1,043.3 ms424 ms3.2 ms

Median of 5 runs. Generated 29 Aug 2026, 10:33 UTC — Apple M2(8 logical cores). Lower is better. Exact versions: Next.js 16.3.3, Vite 8.2.2, Astro 7.2.9, TanStack Start 1.168.49.

Profile

Each framework gets a clean production build and five fresh Chromium contexts. Chrome DevTools Protocol applies a 4× CPU slowdown, 150 ms round-trip latency, 195.3 KiB/s download and 91.6 KiB/s upload. The table reports medians.

  • Client gzip is the sum of production client JS and CSS compressed with gzip. Server output is intentionally excluded.
  • JS transferred is the same-origin JavaScript reported by the browser Resource Timing API with cache disabled.
  • Hydration ready is performance.now() at the shared scenario’s first React effect. In the Vite SPA this includes the initial client render; in the three SSR/static-HTML variants it marks hydration.
  • LCP and TTFB come from browser Performance APIs under the same throttled profile.

Reproduce it

The isolated workspace lives in benchmarks/frameworks and exact-pins every framework. From the repository root:

cd benchmarks/frameworks
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm benchmark

Before each run the harness copies the current block and its transitive registry source into an ignored generated directory, so all four fixtures compile the same product code without drifting copies. It writes the raw profile, host, versions, samples summary and results to results/latest.json.

Compare changes only when runs use the same host and profile. These local preview servers do not measure CDN caching, serverless cold starts, production network topology or developer experience.