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

Turbopack: Implement build worker #75391

Merged
merged 4 commits into from
Jan 29, 2025

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Jan 28, 2025

What?

Runs Turbopack in a separate child process so that e.g. memory usage can be cleaned up before continuing with the rest of the Next.js build. This will lower the peak memory consumption given that before this change the Turbopack cache was kept around until the end of the build.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Jan 28, 2025
Copy link
Member Author

timneutkens commented Jan 28, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@timneutkens timneutkens marked this pull request as ready for review January 28, 2025 10:34
@ijjk
Copy link
Member

ijjk commented Jan 28, 2025

Tests Passed

@ijjk
Copy link
Member

ijjk commented Jan 28, 2025

Stats from current PR

Default Build
General Overall increase ⚠️
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
buildDuration 27.8s 24.9s N/A
buildDurationCached 28.2s 21.8s N/A
nodeModulesSize 392 MB 392 MB ⚠️ +31.8 kB
nextStartRea..uration (ms) 794ms 735ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
5306-HASH.js gzip 54 kB 53.9 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.46 kB 5.46 kB N/A
bccd1874-HASH.js gzip 52.9 kB 52.9 kB
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 240 B 242 B N/A
main-HASH.js gzip 34.5 kB 34.4 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 512 B 510 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.59 kB 4.58 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.35 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.59 kB 3.59 kB
Client Build Manifests
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
_buildManifest.js gzip 748 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
index.html gzip 523 B 523 B
link.html gzip 538 B 538 B
withRouter.html gzip 519 B 520 B N/A
Overall change 1.06 kB 1.06 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 210 kB 210 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
middleware-b..fest.js gzip 670 B 665 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
app-page-exp...dev.js gzip 386 kB 386 kB
app-page-exp..prod.js gzip 131 kB 131 kB
app-page-tur..prod.js gzip 144 kB 144 kB
app-page-tur..prod.js gzip 140 kB 140 kB
app-page.run...dev.js gzip 373 kB 373 kB N/A
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 39.4 kB 39.4 kB
app-route-ex..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 24.8 kB 24.8 kB
app-route.ru...dev.js gzip 41 kB 41 kB
app-route.ru..prod.js gzip 24.8 kB 24.8 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu..prod.js gzip 8.81 kB 8.81 kB
pages-api.ru...dev.js gzip 11.5 kB 11.5 kB
pages-api.ru..prod.js gzip 8.8 kB 8.8 kB
pages-turbo...prod.js gzip 21.6 kB 21.6 kB
pages.runtim...dev.js gzip 31.3 kB 31.3 kB N/A
pages.runtim..prod.js gzip 21.6 kB 21.6 kB
server.runti..prod.js gzip 73.7 kB 73.7 kB
Overall change 1.26 MB 1.26 MB
build cache
vercel/next.js canary vercel/next.js 01-28-turbopack_implement_build_worker Change
0.pack gzip 2.11 MB 2.1 MB N/A
index.pack gzip 76.2 kB 76.2 kB N/A
Overall change 0 B 0 B
Diff details
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page.runtime.dev.js
failed to diff
Diff for pages.runtime.dev.js

Diff too large to display

Commit: bd0ad4c

@timneutkens timneutkens force-pushed the 01-28-turbopack_move_build_to_separate_file branch from 56a0884 to 927d77d Compare January 28, 2025 10:40
@timneutkens timneutkens force-pushed the 01-28-turbopack_implement_build_worker branch from d288c72 to 84f347f Compare January 28, 2025 10:41
Base automatically changed from 01-28-turbopack_move_build_to_separate_file to canary January 29, 2025 10:19
@timneutkens timneutkens force-pushed the 01-28-turbopack_implement_build_worker branch from 9ba6e95 to bd0ad4c Compare January 29, 2025 11:11
@timneutkens timneutkens merged commit 3bd112b into canary Jan 29, 2025
131 checks passed
@timneutkens timneutkens deleted the 01-28-turbopack_implement_build_worker branch January 29, 2025 12:27
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 13, 2025
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