Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving build speed by running it parallel 🚀 #44362

Conversation

sanjaiyan-dev
Copy link
Contributor

Improving build speed by running async functions parallel 🚀


Improving the performance of next build by running certain independent async functions concurrently/parallel.
I thought this would improve the build process of Incremental Static Regeneration and build process for SSR & SSG too.

External Ref-: vuejs/vitepress#1320 (Vitepress)

Extremely sorry if I am wrong and made any mistakes :(

@ijjk
Copy link
Member

ijjk commented Dec 26, 2022

Stats from current PR

Default Build (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
buildDuration 38.3s 37.7s -634ms
buildDurationCached 15.7s 10.6s -5.1s
nodeModulesSize 95 MB 95 MB
nextStartRea..uration (ms) 296ms 280ms -16ms
Client Bundles (main, webpack)
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
152-HASH.js gzip 64.5 kB 64.5 kB
53.HASH.js gzip 182 B 182 B
main-app-HASH.js gzip 205 B 205 B
main-HASH.js gzip 79.2 kB 79.2 kB
webpack-HASH.js gzip 1.7 kB 1.7 kB
Overall change 146 kB 146 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
_app-HASH.js gzip 192 B 192 B
_error-HASH.js gzip 179 B 179 B
amp-HASH.js gzip 484 B 484 B
css-HASH.js gzip 804 B 804 B
dynamic-HASH.js gzip 2.29 kB 2.29 kB
edge-ssr-HASH.js gzip 255 B 255 B
head-HASH.js gzip 827 B 827 B
hooks-HASH.js gzip 848 B 848 B
image-HASH.js gzip 4.3 kB 4.3 kB
index-HASH.js gzip 252 B 252 B
link-HASH.js gzip 2.69 kB 2.69 kB
routerDirect..HASH.js gzip 782 B 782 B
script-HASH.js gzip 857 B 857 B
withRouter-HASH.js gzip 781 B 781 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 15.6 kB 15.6 kB
Client Build Manifests
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
_buildManifest.js gzip 481 B 481 B
Overall change 481 B 481 B
Rendered Page Sizes
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
index.html gzip 489 B 489 B
link.html gzip 504 B 504 B
withRouter.html gzip 485 B 485 B
Overall change 1.48 kB 1.48 kB
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
edge-ssr.js gzip 110 kB 110 kB
page.js gzip 98.4 kB 98.4 kB -1 B
Overall change 209 kB 209 kB -1 B
Middleware size Overall increase ⚠️
vercel/next.js canary sanjaiyan-dev/next.js sanjaiyan-async-rendering-concurrent Change
middleware-b..fest.js gzip 584 B 585 B ⚠️ +1 B
middleware-r..fest.js gzip 145 B 145 B
middleware.js gzip 27 kB 27 kB
edge-runtime..pack.js gzip 1.83 kB 1.83 kB
Overall change 29.6 kB 29.6 kB ⚠️ +1 B

Diffs

Diff for page.js
@@ -8618,7 +8618,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3584: /***/ (
+    /***/ 1036: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -8626,15 +8626,15 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.bind(__webpack_require__, 1210)
       );
-      Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9916)
-      );
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.bind(__webpack_require__, 2973)
       );
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.bind(__webpack_require__, 6448)
       );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.bind(__webpack_require__, 9916)
+      );
 
       /***/
     },
Diff for middleware-b..-manifest.js
@@ -9,7 +9,7 @@ self.__BUILD_MANIFEST = {
   rootMainFiles: [
     "static/chunks/webpack-c452a3e31b73f504.js",
     "static/chunks/152-4025b906f33b8271.js",
-    "static/chunks/main-app-ee3c68771bdcd808.js"
+    "static/chunks/main-app-c9a0aaff35eafcb5.js"
   ],
   pages: {
     "/": [
Diff for main-app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [744],
   {
-    /***/ 1432: /***/ function(
+    /***/ 9915: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,15 +9,15 @@
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.t.bind(__webpack_require__, 429, 23)
       );
-      Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 9379, 23)
-      );
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.t.bind(__webpack_require__, 1161, 23)
       );
       Promise.resolve(/* import() eager */).then(
         __webpack_require__.t.bind(__webpack_require__, 8138, 23)
       );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 9379, 23)
+      );
 
       /***/
     }
@@ -28,7 +28,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [152], function() {
-      return __webpack_exec__(7070), __webpack_exec__(1432);
+      return __webpack_exec__(7070), __webpack_exec__(9915);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Commit: 63c7f9c

@ijjk ijjk requested a review from feedthejim as a code owner May 4, 2023 16:19
@leerob
Copy link
Member

leerob commented Aug 16, 2023

#53617 (comment)

@leerob leerob closed this Aug 16, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 31, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants