Skip to content
New issue

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

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

Already on GitHub? # to your account

[Turbopack] allow to manually mark tasks as root #75436

Merged
merged 2 commits into from
Feb 3, 2025
Merged

Conversation

sokra
Copy link
Member

@sokra sokra commented Jan 29, 2025

What?

Add mark_root() to manually mark tasks as root as performance optimization.

Closes PACK-3846

Copy link
Member Author

sokra commented Jan 29, 2025

@sokra sokra changed the title skip transient jobs in AggregationUpdateQueue [Turbopack] allow to manually mark tasks as root Jan 29, 2025
@sokra sokra requested a review from mischnic January 29, 2025 16:48
@sokra sokra marked this pull request as ready for review January 29, 2025 16:48
@ijjk
Copy link
Member

ijjk commented Jan 29, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js sokra/mark-root-tasks Change
buildDuration 18.8s 16.7s N/A
buildDurationCached 15.9s 13.3s N/A
nodeModulesSize 391 MB 391 MB
nextStartRea..uration (ms) 454ms 459ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sokra/mark-root-tasks 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 N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 241 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 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sokra/mark-root-tasks 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 sokra/mark-root-tasks 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 sokra/mark-root-tasks 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 sokra/mark-root-tasks Change
index.html gzip 523 B 522 B N/A
link.html gzip 539 B 537 B N/A
withRouter.html gzip 520 B 519 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js sokra/mark-root-tasks 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 sokra/mark-root-tasks Change
middleware-b..fest.js gzip 670 B 667 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 sokra/mark-root-tasks Change
app-page-exp...dev.js gzip 386 kB 386 kB
app-page-exp..prod.js gzip 132 kB 132 kB
app-page-tur..prod.js gzip 145 kB 145 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page.run...dev.js gzip 373 kB 373 kB
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 39.2 kB 39.2 kB
app-route-ex..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.4 kB 25.4 kB
app-route.ru...dev.js gzip 40.8 kB 40.8 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
dist_client_...dev.js gzip 356 B 356 B
dist_client_...dev.js gzip 349 B 349 B
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.8 kB 11.8 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 31.5 kB 31.5 kB
pages.runtim..prod.js gzip 21.9 kB 21.9 kB
server.runti..prod.js gzip 60.2 kB 60.2 kB
Overall change 1.65 MB 1.65 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/mark-root-tasks Change
0.pack gzip 2.1 MB 2.1 MB ⚠️ +2.19 kB
index.pack gzip 75 kB 74.4 kB N/A
Overall change 2.1 MB 2.1 MB ⚠️ +2.19 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 912c37c

@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 9609f48 to 3a62eab Compare January 29, 2025 17:07
@sokra sokra force-pushed the sokra/mark-root-tasks branch from caf32c7 to 1b1b190 Compare January 29, 2025 17:08
@@ -1605,6 +1606,7 @@ impl Project {
async fn whole_app_module_graph_operation(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Re: lines +1603 to +1604]

Move this comment down?

See this comment inline on Graphite.

Comment on lines +1703 to +1706
/// Marks the current task as finished. This excludes it from waiting for
/// strongly consistency.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it not problematic for a function to be excluded from strong consistency?

@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 3a62eab to 65ad187 Compare January 29, 2025 20:49
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 1b1b190 to 7f00411 Compare January 29, 2025 20:50
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 65ad187 to f675224 Compare January 29, 2025 23:43
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 7f00411 to c53679c Compare January 29, 2025 23:43
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from f675224 to 0ba2230 Compare January 30, 2025 09:44
@sokra sokra force-pushed the sokra/mark-root-tasks branch from c53679c to 50337e5 Compare January 30, 2025 09:44
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 0ba2230 to 4cb5335 Compare January 30, 2025 10:09
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 50337e5 to a1d5dd3 Compare January 30, 2025 10:10
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 4cb5335 to f12889b Compare January 30, 2025 10:31
@sokra sokra force-pushed the sokra/mark-root-tasks branch from a1d5dd3 to 912c37c Compare January 30, 2025 10:32
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 912c37c to b0be27a Compare January 30, 2025 13:09
@sokra sokra force-pushed the sokra/mark-root-tasks branch from b0be27a to 78d704c Compare January 31, 2025 13:58
@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. Documentation Related to Next.js' official documentation. tests type: next labels Jan 31, 2025
@sokra sokra changed the base branch from sokra/update-aggregation-before-connect to sokra/update-event-listener January 31, 2025 13:58
@sokra sokra force-pushed the sokra/update-event-listener branch from e74fd1d to 824146d Compare February 3, 2025 07:05
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 78d704c to 696f5c4 Compare February 3, 2025 07:05
@sokra sokra force-pushed the sokra/update-event-listener branch from 824146d to 9e7db02 Compare February 3, 2025 11:19
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 696f5c4 to 2a7382f Compare February 3, 2025 11:20
@sokra sokra changed the base branch from sokra/update-event-listener to graphite-base/75436 February 3, 2025 12:16
@sokra sokra force-pushed the graphite-base/75436 branch from 9e7db02 to 8a2b381 Compare February 3, 2025 12:17
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 2a7382f to 63143db Compare February 3, 2025 12:17
@sokra sokra changed the base branch from graphite-base/75436 to canary February 3, 2025 12:17
@sokra sokra force-pushed the sokra/mark-root-tasks branch from 63143db to 12980b6 Compare February 3, 2025 12:17
@sokra sokra merged commit 51ce398 into canary Feb 3, 2025
130 of 131 checks passed
Copy link
Member Author

sokra commented Feb 3, 2025

Merge activity

  • Feb 3, 8:44 AM EST: A user merged this pull request with Graphite.

@sokra sokra deleted the sokra/mark-root-tasks branch February 3, 2025 13:44
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 18, 2025
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
create-next-app Related to our CLI tool for quickly starting a new Next.js application. created-by: Turbopack team PRs by the Turbopack team. Documentation Related to Next.js' official documentation. locked tests Turbopack Related to Turbopack with Next.js. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants