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: CLI / perf improvements #75373

Merged
merged 3 commits into from
Jan 27, 2025
Merged

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Jan 27, 2025

What?

Some improvements to closer match other bundlers in the CLI.

  • CLI: Add --no-sourcemap to cli
  • CLI: Update browserslist query to match dev
  • CLI: Add forget(turbotasks) to drop memory at end of build
  • CLI: Remove styled-jsx, emotion, styled-components transforms by default
  • Tracing: Add more spans for analyse modules step
  • Analysis: Move some work intended to only run with an input sourcemap into the if options.extract_source_map
  • Minify: Change to 2 passes, matching rspack default

@ijjk ijjk added the created-by: Next.js team PRs by the Next.js team. label Jan 27, 2025
Copy link
Member Author

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

@timneutkens timneutkens marked this pull request as ready for review January 27, 2025 20:39
@ijjk
Copy link
Member

ijjk commented Jan 27, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js 01-27-turbopack_cli___perf_improvements Change
buildDuration 19.3s 16.5s N/A
buildDurationCached 15.4s 13s N/A
nodeModulesSize 392 MB 392 MB N/A
nextStartRea..uration (ms) 446ms 446ms
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 01-27-turbopack_cli___perf_improvements Change
5306-HASH.js gzip 54.1 kB 54.1 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.6 kB 34.6 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-27-turbopack_cli___perf_improvements 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-27-turbopack_cli___perf_improvements 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-27-turbopack_cli___perf_improvements 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-27-turbopack_cli___perf_improvements Change
index.html gzip 523 B 523 B
link.html gzip 538 B 538 B
withRouter.html gzip 520 B 519 B N/A
Overall change 1.06 kB 1.06 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 01-27-turbopack_cli___perf_improvements 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-27-turbopack_cli___perf_improvements 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-27-turbopack_cli___perf_improvements Change
app-page-exp...dev.js gzip 385 kB 385 kB N/A
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 372 kB 372 kB
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 N/A
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.22 MB 1.22 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js 01-27-turbopack_cli___perf_improvements Change
0.pack gzip 2.1 MB 2.1 MB ⚠️ +709 B
index.pack gzip 75.2 kB 75.7 kB ⚠️ +440 B
Overall change 2.18 MB 2.18 MB ⚠️ +1.15 kB
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-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.dev.js

Diff too large to display

Commit: 174a4fc

@bgw bgw force-pushed the 01-27-turbopack_cli___perf_improvements branch from b49aab1 to 174a4fc Compare January 27, 2025 21:24
@bgw bgw merged commit aa58053 into canary Jan 27, 2025
131 checks passed
Copy link
Member

bgw commented Jan 27, 2025

Merge activity

  • Jan 27, 4:57 PM EST: A user merged this pull request with Graphite.

@bgw bgw deleted the 01-27-turbopack_cli___perf_improvements branch January 27, 2025 21:57
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
created-by: Next.js team PRs by the Next.js team. locked
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants