Skip to content

Next.js

Dev Time benchmarks use each meta-framework’s starter-* package.

Each starter follows its framework’s CLI or documented setup, with the selected options and adjustments recorded in the methodology.

See Default Benchmark Setup for the shared benchmark environment.

Methodology: Dependency Counts.

Measuring a meta-framework’s dependencies isn’t as straightforward as you might think. You could:

  • Measure just the meta-framework package itself
  • Maybe a full project setup

Both approaches have flaws. Some meta-frameworks need many other packages to work. A full project setup can include more packages than necessary.

To provide a clearer picture, we run the dependency-count tests three times, starting small and expanding in scope. In this order, we:

  1. Start with the meta-framework package itself, for example, @sveltejs/kit
  2. We then expand this to the meta-framework and its first-party packages. Looking at @sveltejs/kit again, this means any package maintained by the meta-framework authors that’s needed to run a project, for example, the svelte package.
  3. Finally, we count the dependencies for the entire starter-* project. Their CLI or documentation recommends this setup by default, so this is the default most people will start with.

Core Package · Production Dependencies

Latest · v16.4.26No change from previous
Core Package · Production Dependencies chart
Core Package · Production Dependencies data
Framework versionDependencies
16.1.16
16.2.126
16.3.86
16.4.26

The latest release is shown as a filled point; earlier releases use outlined points.

Core Package · Development Dependencies

Latest · v16.4.20No change from previous
Core Package · Development Dependencies chart
Core Package · Development Dependencies data
Framework versionDependencies
16.1.1223
16.2.120
16.3.80
16.4.20

The latest release is shown as a filled point; earlier releases use outlined points.

Core Package · All Dependencies

Latest · v16.4.26No change from previous
Core Package · All Dependencies chart
Core Package · All Dependencies data
Framework versionDependencies
16.1.1229
16.2.126
16.3.86
16.4.26

The latest release is shown as a filled point; earlier releases use outlined points.

Starter Project · Production Dependencies

Latest · v16.4.23No change from previous
Starter Project · Production Dependencies chart
Starter Project · Production Dependencies data
Framework versionDependencies
16.1.13
16.2.123
16.3.83
16.4.23

The latest release is shown as a filled point; earlier releases use outlined points.

Starter Project · Development Dependencies

Latest · v16.4.26No change from previous
Starter Project · Development Dependencies chart
Starter Project · Development Dependencies data
Framework versionDependencies
16.1.16
16.2.126
16.3.86
16.4.26

The latest release is shown as a filled point; earlier releases use outlined points.

Starter Project · All Dependencies

Latest · v16.4.2424−2 from previous
Starter Project · All Dependencies chart
Starter Project · All Dependencies data
Framework versionDependencies
16.1.1421
16.2.12423
16.3.8426
16.4.2424

The latest release is shown as a filled point; earlier releases use outlined points.

Starter Project · Duplicate Dependencies

Latest · v16.4.212−2 from previous
Starter Project · Duplicate Dependencies chart
Starter Project · Duplicate Dependencies data
Framework versionDuplicates
16.1.112
16.2.1214
16.3.814
16.4.212

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: Node Modules Size.

Node Modules Size

Latest · v16.4.2463.61 MB+10.89 MB from previous
Node Modules Size chart
Node Modules Size data
Framework versionMB
16.1.1560.05 MB
16.2.12451.10 MB
16.3.8452.72 MB
16.4.2463.61 MB

The latest release is shown as a filled point; earlier releases use outlined points.

Dependency Install Size

Latest · v16.4.2405.32 MB+9.07 MB from previous
Dependency Install Size chart
Dependency Install Size data
Framework versionMB
16.1.1506.22 MB
16.2.12395.87 MB
16.3.8396.25 MB
16.4.2405.32 MB

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: Build and Install Times.

Median Install Time

Latest · v16.4.26.14s−0.28s from previous
Median Install Time chart
Median Install Time data
Framework versionSeconds
16.1.16.75s
16.2.125.85s
16.3.86.42s
16.4.26.14s

The latest release is shown as a filled point; earlier releases use outlined points.

Median Cold Build Time

Latest · v16.4.25.78s−1.01s from previous
Median Cold Build Time chart
Median Cold Build Time data
Framework versionSeconds
16.1.15.02s
16.2.125.19s
16.3.86.79s
16.4.25.78s

The latest release is shown as a filled point; earlier releases use outlined points.

Median Warm Build Time

Latest · v16.4.22.24s−0.52s from previous
Median Warm Build Time chart
Median Warm Build Time data
Framework versionSeconds
16.1.15.04s
16.2.125.01s
16.3.82.76s
16.4.22.24s

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: Dev Server Startup.

Median Dev Server Startup Time

Latest · v16.4.22.46s+0.29s from previous
Median Dev Server Startup Time chart
Median Dev Server Startup Time data
Framework versionSeconds
16.1.12.64s
16.2.122.18s
16.3.82.18s
16.4.22.46s

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: Core-JS Polyfills.

Size of JS Files Containing Core-JS

Combined size of matching build output files, including any other code in those files.

Latest · v16.4.2109.96 KBNo change from previous
Size of JS Files Containing Core-JS chart
Size of JS Files Containing Core-JS data
Framework versionKB
16.1.1109.96 KB
16.2.12109.96 KB
16.3.8109.96 KB
16.4.2109.96 KB

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: Browser Baseline.

VersionBaselineFeatureYearFeatures
16.1.1High—202246
16.2.12High—202247
16.3.8High—202247
16.4.2High—202247

Runtime apps implement comparable benchmark routes across frameworks. See Default Benchmark Setup for the shared environment and each framework’s build tool and adapter. Test-specific differences are documented in the linked methodology sections below.

These CSR browser performance tests use Lighthouse to measure paint timings and a controlled navigation interaction.

Methodology: Client Side Rendered Tests (Lighthouse).

Some frameworks have been moved off their golden path to make client side tests fair when comparing. See the methodology link above for the full details.

Client First Paint (Lighthouse)

Latest · v16.4.2339.00 ms−1.00 ms from previous
Client First Paint (Lighthouse) chart
Client First Paint (Lighthouse) data
Framework versionMilliseconds
16.1.1339.00 ms
16.2.12341.00 ms
16.3.8340.00 ms
16.4.2339.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Client FCP (Lighthouse)

Latest · v16.4.2339.22 ms−0.69 ms from previous
Client FCP (Lighthouse) chart
Client FCP (Lighthouse) data
Framework versionMilliseconds
16.1.1339.11 ms
16.2.12341.32 ms
16.3.8339.90 ms
16.4.2339.22 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Client Interaction Breakdown by Version (Lighthouse)

Total latency is split into the three consecutive phases reported by Lighthouse.

  • The input delay, which starts when the user initiates an interaction with the page, and ends when the event callbacks for the interaction begin to run.
  • The processing duration, which consists of the time it takes for event callbacks to run to completion.
  • The presentation delay, which is the time it takes for the browser to present the next frame which contains the visual result of the interaction.
Client Interaction Breakdown by Version (Lighthouse) data
Framework versionInteraction latencyInput delayProcessing durationPresentation delay
v16.1.117.88 ms1.49 ms5.55 ms10.83 ms
v16.2.1220.62 ms1.63 ms4.35 ms14.64 ms
v16.3.816.80 ms1.24 ms5.87 ms9.69 ms
v16.4.214.69 ms1.59 ms5.47 ms7.62 ms

These SSR browser performance tests use Lighthouse to measure paint timings and a controlled navigation interaction.

Methodology: Server Side Rendered Tests (Lighthouse).

Server First Paint (Lighthouse)

Latest · v16.4.2381.00 ms+256.00 ms from previous
Server First Paint (Lighthouse) chart
Server First Paint (Lighthouse) data
Framework versionMilliseconds
16.1.1134.00 ms
16.2.12122.00 ms
16.3.8125.00 ms
16.4.2381.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Server FCP (Lighthouse)

Latest · v16.4.2380.96 ms+255.88 ms from previous
Server FCP (Lighthouse) chart
Server FCP (Lighthouse) data
Framework versionMilliseconds
16.1.1134.21 ms
16.2.12121.75 ms
16.3.8125.08 ms
16.4.2380.96 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Server Interaction Breakdown by Version (Lighthouse)

Total latency is split into the three consecutive phases reported by Lighthouse.

  • The input delay, which starts when the user initiates an interaction with the page, and ends when the event callbacks for the interaction begin to run.
  • The processing duration, which consists of the time it takes for event callbacks to run to completion.
  • The presentation delay, which is the time it takes for the browser to present the next frame which contains the visual result of the interaction.
Server Interaction Breakdown by Version (Lighthouse) data
Framework versionInteraction latencyInput delayProcessing durationPresentation delay
v16.1.120.25 ms1.49 ms6.78 ms11.99 ms
v16.2.1217.12 ms1.34 ms5.77 ms10.00 ms
v16.3.817.52 ms1.39 ms7.00 ms9.13 ms
v16.4.218.55 ms1.56 ms4.47 ms12.53 ms

Methodology: Server Side Throughput Tests.

Ops/sec

Latest · v16.4.2135
Ops/sec chart
Ops/sec data
Framework versionOperations per second
16.1.1—
16.2.12—
16.3.8—
16.4.2135

The latest release is shown as a filled point; earlier releases use outlined points.

Body Size

Latest · v16.4.2204.56 KB
Body Size chart
Body Size data
Framework versionKilobytes
16.1.1—
16.2.12—
16.3.8—
16.4.2204.56 KB

The latest release is shown as a filled point; earlier releases use outlined points.

Median Latency

Median of measured run average latencies; not a pooled request-level median.

Latest · v16.4.27.65 ms
Median Latency chart
Median Latency data
Framework versionMilliseconds
16.1.1—
16.2.12—
16.3.8—
16.4.27.65 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: SSR Load Test.

Each runtime app renders the same 1,000-row, three-column table using ordinary <a> links. This compares server rendering under HTTP load without the extra work of rendering framework router link components. Requests still pass through each framework’s server routing. No browser runs and no links are clicked.

Ordinary anchors at /server-side-rendered-plain-links. Historical standard-test measurements are unavailable; new CI runs will populate this series.

Total Measured Requests

Latest · v16.4.24983−903 from previous
Total Measured Requests chart
Total Measured Requests data
Framework versionRequests
16.1.13798
16.2.125877
16.3.85886
16.4.24983

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 25 Connections

Latest · v16.4.21185.00 ms+46.00 ms from previous
Median Sweep P99 Latency at 25 Connections chart
Median Sweep P99 Latency at 25 Connections data
Framework versionMilliseconds
16.1.11827.00 ms
16.2.121175.00 ms
16.3.81139.00 ms
16.4.21185.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 50 Connections

Latest · v16.4.24085.00 ms+142.00 ms from previous
Median Sweep P99 Latency at 50 Connections chart
Median Sweep P99 Latency at 50 Connections data
Framework versionMilliseconds
16.1.14723.00 ms
16.2.124312.00 ms
16.3.83943.00 ms
16.4.24085.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 100 Connections

Latest · v16.4.24676.00 ms+74.00 ms from previous
Median Sweep P99 Latency at 100 Connections chart
Median Sweep P99 Latency at 100 Connections data
Framework versionMilliseconds
16.1.14744.00 ms
16.2.124636.00 ms
16.3.84602.00 ms
16.4.24676.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 25 Connections

Latest · v16.4.2505.00 ms+91.00 ms from previous
Median Sweep P90 Latency at 25 Connections chart
Median Sweep P90 Latency at 25 Connections data
Framework versionMilliseconds
16.1.1652.00 ms
16.2.12483.00 ms
16.3.8414.00 ms
16.4.2505.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 50 Connections

Latest · v16.4.21693.00 ms+497.00 ms from previous
Median Sweep P90 Latency at 50 Connections chart
Median Sweep P90 Latency at 50 Connections data
Framework versionMilliseconds
16.1.12313.00 ms
16.2.121488.00 ms
16.3.81196.00 ms
16.4.21693.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 100 Connections

Latest · v16.4.22172.00 ms+294.00 ms from previous
Median Sweep P90 Latency at 100 Connections chart
Median Sweep P90 Latency at 100 Connections data
Framework versionMilliseconds
16.1.12584.00 ms
16.2.121889.00 ms
16.3.81878.00 ms
16.4.22172.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 25 Connections

Latest · v16.4.2484.00 ms+80.00 ms from previous
Median Sweep P75 Latency at 25 Connections chart
Median Sweep P75 Latency at 25 Connections data
Framework versionMilliseconds
16.1.1640.00 ms
16.2.12468.00 ms
16.3.8404.00 ms
16.4.2484.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 50 Connections

Latest · v16.4.2953.00 ms+173.00 ms from previous
Median Sweep P75 Latency at 50 Connections chart
Median Sweep P75 Latency at 50 Connections data
Framework versionMilliseconds
16.1.11062.00 ms
16.2.12875.00 ms
16.3.8780.00 ms
16.4.2953.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 100 Connections

Latest · v16.4.2991.00 ms+173.00 ms from previous
Median Sweep P75 Latency at 100 Connections chart
Median Sweep P75 Latency at 100 Connections data
Framework versionMilliseconds
16.1.11047.00 ms
16.2.12902.00 ms
16.3.8818.00 ms
16.4.2991.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Methodology: SSR Router Link Load Test.

The same load test using framework router link components, showing how rendering those components affects server performance compared with ordinary HTML links.

Framework router links at /server-side-rendered. Historical HTTP load results are preserved in this series.

Total Measured Requests

Latest · v16.4.24436−847 from previous
Total Measured Requests chart
Total Measured Requests data
Framework versionRequests
16.1.13438
16.2.125248
16.3.85283
16.4.24436

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 25 Connections

Latest · v16.4.21292.00 ms+22.00 ms from previous
Median Sweep P99 Latency at 25 Connections chart
Median Sweep P99 Latency at 25 Connections data
Framework versionMilliseconds
16.1.11949.00 ms
16.2.121273.00 ms
16.3.81270.00 ms
16.4.21292.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 50 Connections

Latest · v16.4.24576.00 ms+232.00 ms from previous
Median Sweep P99 Latency at 50 Connections chart
Median Sweep P99 Latency at 50 Connections data
Framework versionMilliseconds
16.1.14745.00 ms
16.2.124612.00 ms
16.3.84344.00 ms
16.4.24576.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P99 Latency at 100 Connections

Latest · v16.4.24769.00 ms+176.00 ms from previous
Median Sweep P99 Latency at 100 Connections chart
Median Sweep P99 Latency at 100 Connections data
Framework versionMilliseconds
16.1.14746.00 ms
16.2.124529.00 ms
16.3.84593.00 ms
16.4.24769.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 25 Connections

Latest · v16.4.2545.00 ms+76.00 ms from previous
Median Sweep P90 Latency at 25 Connections chart
Median Sweep P90 Latency at 25 Connections data
Framework versionMilliseconds
16.1.1714.00 ms
16.2.12513.00 ms
16.3.8469.00 ms
16.4.2545.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 50 Connections

Latest · v16.4.22104.00 ms+520.00 ms from previous
Median Sweep P90 Latency at 50 Connections chart
Median Sweep P90 Latency at 50 Connections data
Framework versionMilliseconds
16.1.12412.00 ms
16.2.121856.00 ms
16.3.81584.00 ms
16.4.22104.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P90 Latency at 100 Connections

Latest · v16.4.22522.00 ms+547.00 ms from previous
Median Sweep P90 Latency at 100 Connections chart
Median Sweep P90 Latency at 100 Connections data
Framework versionMilliseconds
16.1.12775.00 ms
16.2.122127.00 ms
16.3.81975.00 ms
16.4.22522.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 25 Connections

Latest · v16.4.2529.00 ms+74.00 ms from previous
Median Sweep P75 Latency at 25 Connections chart
Median Sweep P75 Latency at 25 Connections data
Framework versionMilliseconds
16.1.1700.00 ms
16.2.12504.00 ms
16.3.8455.00 ms
16.4.2529.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 50 Connections

Latest · v16.4.21016.00 ms+151.00 ms from previous
Median Sweep P75 Latency at 50 Connections chart
Median Sweep P75 Latency at 50 Connections data
Framework versionMilliseconds
16.1.11109.00 ms
16.2.12934.00 ms
16.3.8865.00 ms
16.4.21016.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.

Median Sweep P75 Latency at 100 Connections

Latest · v16.4.21078.00 ms+213.00 ms from previous
Median Sweep P75 Latency at 100 Connections chart
Median Sweep P75 Latency at 100 Connections data
Framework versionMilliseconds
16.1.11088.00 ms
16.2.12925.00 ms
16.3.8865.00 ms
16.4.21078.00 ms

The latest release is shown as a filled point; earlier releases use outlined points.