vercel / next.js

The React Framework
https://nextjs.org
MIT License
121.29k stars 25.96k forks source link

Enable preloading entries by default #65289

Closed ijjk closed 2 weeks ago

ijjk commented 2 weeks ago

This enables the preloading entries on start flag by default as it has a great benefit to preload eagerly when starting the server instead of lazily when requests come in which makes the user eat the module initialization time.

Closes NEXT-3303

ijjk commented 2 weeks ago

Stats from current PR

Default Build (Increase detected ⚠️)
General | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | buildDuration | 25.5s | 24.1s | N/A | | buildDurationCached | 14.8s | 12.8s | N/A | | nodeModulesSize | 360 MB | 360 MB | N/A | | nextStartRea..uration (ms) | 733ms | 608ms | N/A |
Client Bundles (main, webpack) | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | 1103-HASH.js gzip | 31.9 kB | 31.9 kB | N/A | | 1a9f679d-HASH.js gzip | 53.5 kB | 53.5 kB | N/A | | 335-HASH.js gzip | 5.05 kB | 5.05 kB | ✓ | | 7953.HASH.js gzip | 169 B | 169 B | ✓ | | framework-HASH.js gzip | 45.2 kB | 45.2 kB | ✓ | | main-app-HASH.js gzip | 231 B | 228 B | N/A | | main-HASH.js gzip | 31.6 kB | 31.6 kB | N/A | | webpack-HASH.js gzip | 1.65 kB | 1.65 kB | N/A | | Overall change | 50.4 kB | 50.4 kB | ✓ |
Legacy Client Bundles (polyfills) | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ | | Overall change | 31 kB | 31 kB | ✓ |
Client Pages | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | _app-HASH.js gzip | 192 B | 193 B | N/A | | _error-HASH.js gzip | 192 B | 193 B | N/A | | amp-HASH.js gzip | 507 B | 511 B | N/A | | css-HASH.js gzip | 341 B | 343 B | N/A | | dynamic-HASH.js gzip | 2.52 kB | 2.52 kB | ✓ | | edge-ssr-HASH.js gzip | 266 B | 265 B | N/A | | head-HASH.js gzip | 362 B | 365 B | N/A | | hooks-HASH.js gzip | 392 B | 392 B | ✓ | | image-HASH.js gzip | 4.27 kB | 4.27 kB | ✓ | | index-HASH.js gzip | 268 B | 268 B | ✓ | | link-HASH.js gzip | 2.69 kB | 2.7 kB | N/A | | routerDirect..HASH.js gzip | 329 B | 328 B | N/A | | script-HASH.js gzip | 397 B | 397 B | ✓ | | withRouter-HASH.js gzip | 324 B | 324 B | ✓ | | 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ | | Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | _buildManifest.js gzip | 483 B | 484 B | N/A | | Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | index.html gzip | 527 B | 528 B | N/A | | link.html gzip | 540 B | 540 B | ✓ | | withRouter.html gzip | 522 B | 524 B | N/A | | Overall change | 540 B | 540 B | ✓ |
Edge SSR bundle Size | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | edge-ssr.js gzip | 94.7 kB | 94.7 kB | N/A | | page.js gzip | 182 kB | 182 kB | N/A | | Overall change | 0 B | 0 B | ✓ |
Middleware size | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | middleware-b..fest.js gzip | 623 B | 623 B | ✓ | | middleware-r..fest.js gzip | 156 B | 156 B | ✓ | | middleware.js gzip | 25.7 kB | 25.7 kB | N/A | | edge-runtime..pack.js gzip | 839 B | 839 B | ✓ | | Overall change | 1.62 kB | 1.62 kB | ✓ |
Next Runtimes | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | app-page-exp...dev.js gzip | 171 kB | 171 kB | ✓ | | app-page-exp..prod.js gzip | 98.7 kB | 98.7 kB | ✓ | | app-page-tur..prod.js gzip | 100 kB | 100 kB | ✓ | | app-page-tur..prod.js gzip | 94.5 kB | 94.5 kB | ✓ | | app-page.run...dev.js gzip | 157 kB | 157 kB | ✓ | | app-page.run..prod.js gzip | 93.2 kB | 93.2 kB | ✓ | | app-route-ex...dev.js gzip | 21.5 kB | 21.5 kB | ✓ | | app-route-ex..prod.js gzip | 15.2 kB | 15.2 kB | ✓ | | app-route-tu..prod.js gzip | 15.2 kB | 15.2 kB | ✓ | | app-route-tu..prod.js gzip | 15 kB | 15 kB | ✓ | | app-route.ru...dev.js gzip | 21.3 kB | 21.3 kB | ✓ | | app-route.ru..prod.js gzip | 15 kB | 15 kB | ✓ | | pages-api-tu..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-api.ru...dev.js gzip | 9.82 kB | 9.82 kB | ✓ | | pages-api.ru..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-turbo...prod.js gzip | 21.5 kB | 21.5 kB | ✓ | | pages.runtim...dev.js gzip | 22.1 kB | 22.1 kB | ✓ | | pages.runtim..prod.js gzip | 21.5 kB | 21.5 kB | ✓ | | server.runti..prod.js gzip | 51.6 kB | 51.6 kB | N/A | | Overall change | 912 kB | 912 kB | ✓ |
build cache Overall increase ⚠️ | | vercel/next.js canary | ijjk/next.js update/preload-entries | Change | | - | - | - | - | | 0.pack gzip | 1.62 MB | 1.62 MB | ⚠️ +3.93 kB | | index.pack gzip | 113 kB | 114 kB | N/A | | Overall change | 1.62 MB | 1.62 MB | ⚠️ +3.93 kB |
Diff details
Diff for page.js Diff too large to display
Diff for edge-ssr.js Diff too large to display
Diff for server.runtime.prod.js Diff too large to display

Commit: ecd181a9cd05407c3f2bb933e2a9eb7493f4a40e