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] connect children in a batch when task is about to finish #74773

Draft
wants to merge 8 commits into
base: canary
Choose a base branch
from

Conversation

sokra
Copy link
Member

@sokra sokra commented Jan 10, 2025

What?

Connects all (new) children once the task is finished instead of each task when it's called.

To keep tasks active while the parent is in progress, but not finished, it uses the new active counter.

Copy link
Member Author

sokra commented Jan 10, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

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

@ijjk
Copy link
Member

ijjk commented Jan 10, 2025

Failing test suites

Commit: 64c5f96

pnpm test-start-turbo test/e2e/persistent-caching/persistent-caching.test.ts (turbopack)

  • persistent-caching > should persistent cache loaders
  • persistent-caching > should allow to change files while stopped
Expand output

● persistent-caching › should persistent cache loaders

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  32 |   }
  33 |
> 34 |   it('should persistent cache loaders', async () => {
     |   ^
  35 |     let appTimestamp, pagesTimestamp
  36 |     {
  37 |       const browser = await next.browser('/')

  at it (e2e/persistent-caching/persistent-caching.test.ts:34:3)
  at Object.describe (e2e/persistent-caching/persistent-caching.test.ts:4:1)

● persistent-caching › should allow to change files while stopped

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:35429/
Call log:
  - navigating to "http://localhost:35429/", waiting until "load"

  282 |     opts?.beforePageLoad?.(page)
  283 |
> 284 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  285 |   }
  286 |
  287 |   back(options) {

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (e2e/persistent-caching/persistent-caching.test.ts:64:23)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented Jan 10, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
buildDuration 16.6s 15s N/A
buildDurationCached 14.1s 11.8s N/A
nodeModulesSize 418 MB 418 MB
nextStartRea..uration (ms) 428ms 416ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
5306-HASH.js gzip 53.9 kB 53.9 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.44 kB 5.44 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 240 B 242 B N/A
main-HASH.js gzip 34.2 kB 34.2 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/lazy-connect 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/lazy-connect 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.57 kB 4.57 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.34 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/lazy-connect Change
_buildManifest.js gzip 749 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
index.html gzip 524 B 524 B
link.html gzip 539 B 538 B N/A
withRouter.html gzip 520 B 520 B
Overall change 1.04 kB 1.04 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 208 kB 208 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
middleware-b..fest.js gzip 668 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/lazy-connect Change
274-experime...dev.js gzip 322 B 322 B
274.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 374 kB 374 kB
app-page-exp..prod.js gzip 130 kB 130 kB
app-page-tur..prod.js gzip 143 kB 143 kB
app-page-tur..prod.js gzip 139 kB 139 kB
app-page.run...dev.js gzip 362 kB 362 kB
app-page.run..prod.js gzip 126 kB 126 kB
app-route-ex...dev.js gzip 37.6 kB 37.6 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 39.2 kB 39.2 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.7 kB 21.7 kB
pages.runtim...dev.js gzip 27.5 kB 27.5 kB
pages.runtim..prod.js gzip 21.7 kB 21.7 kB
server.runti..prod.js gzip 916 kB 916 kB
Overall change 2.47 MB 2.47 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/lazy-connect Change
0.pack gzip 2.09 MB 2.1 MB ⚠️ +8.02 kB
index.pack gzip 75.7 kB 76.4 kB ⚠️ +637 B
Overall change 2.17 MB 2.18 MB ⚠️ +8.66 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 64c5f96

@sokra sokra force-pushed the sokra/active-counter-2 branch from d449b0e to b15d66c Compare January 13, 2025 21:15
@sokra sokra force-pushed the sokra/lazy-connect branch from e5f13e2 to 0084ab7 Compare January 13, 2025 21:15
@sokra sokra changed the title lazy connect children [Turbopack] connect children in a batch when task is about to finish Jan 13, 2025
@sokra sokra marked this pull request as ready for review January 13, 2025 21:20
@sokra sokra requested a review from mischnic January 13, 2025 21:21
@sokra sokra force-pushed the sokra/active-counter-2 branch from b15d66c to 585a4e0 Compare January 13, 2025 21:31
@sokra sokra force-pushed the sokra/lazy-connect branch from 0084ab7 to f34b63c Compare January 13, 2025 21:31
@sokra sokra force-pushed the sokra/active-counter-2 branch from 585a4e0 to cac5701 Compare January 14, 2025 12:50
@sokra sokra force-pushed the sokra/lazy-connect branch from f34b63c to 2267156 Compare January 14, 2025 12:51
@sokra sokra force-pushed the sokra/active-counter-2 branch from cac5701 to 2d17da4 Compare January 14, 2025 13:19
@sokra sokra force-pushed the sokra/lazy-connect branch from 2267156 to 366bcfb Compare January 14, 2025 13:20
@sokra sokra force-pushed the sokra/active-counter-2 branch from 2d17da4 to b3d8c4d Compare January 14, 2025 13:32
@sokra sokra force-pushed the sokra/lazy-connect branch from 366bcfb to 468026c Compare January 14, 2025 13:32
@sokra sokra force-pushed the sokra/active-counter-2 branch 2 times, most recently from 96f4c63 to 207c7fc Compare January 14, 2025 15:23
@sokra sokra force-pushed the sokra/lazy-connect branch from 468026c to 8d560fc Compare January 14, 2025 15:23
@sokra sokra changed the base branch from sokra/active-counter-2 to graphite-base/74773 January 14, 2025 15:39
@sokra sokra changed the base branch from graphite-base/74773 to canary January 14, 2025 15:39
@sokra sokra force-pushed the sokra/lazy-connect branch from 8d560fc to 09299b0 Compare January 14, 2025 15:39
@sokra sokra force-pushed the sokra/lazy-connect branch 2 times, most recently from 118a2af to 5902f72 Compare January 15, 2025 06:36
@sokra sokra changed the base branch from canary to sokra/optimize-based-on-follower January 15, 2025 06:36
@sokra sokra marked this pull request as draft January 15, 2025 06:40
@sokra sokra force-pushed the sokra/optimize-based-on-follower branch 2 times, most recently from 32115b0 to d8f6879 Compare January 15, 2025 06:46
@sokra sokra force-pushed the sokra/lazy-connect branch from 5902f72 to dd58bc4 Compare January 15, 2025 06:46
@sokra sokra changed the base branch from sokra/optimize-based-on-follower to graphite-base/74773 January 15, 2025 07:19
@sokra sokra force-pushed the graphite-base/74773 branch from d8f6879 to 2f4610e Compare January 15, 2025 07:19
@sokra sokra force-pushed the sokra/lazy-connect branch from dd58bc4 to e15f24b Compare January 15, 2025 07:19
@sokra sokra changed the base branch from graphite-base/74773 to canary January 15, 2025 07:20
@sokra sokra force-pushed the sokra/lazy-connect branch from e15f24b to 64c5f96 Compare January 15, 2025 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants