Skip to content

Conversation

@sokra
Copy link
Member

@sokra sokra commented Jan 12, 2026

What?

Use strongly consistent reads for compute_async_module_info to avoid double execution.

@nextjs-bot
Copy link
Collaborator

Allow CI Workflow Run

  • approve CI run for commit: 2187e6b

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

1 similar comment
@nextjs-bot
Copy link
Collaborator

Allow CI Workflow Run

  • approve CI run for commit: 2187e6b

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 12, 2026

Stats from current PR

✅ No significant changes detected

📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 456ms 456ms ▁▁▁▁▁
Cold (Ready in log) 444ms 444ms ▆▆▁▅▇
Cold (First Request) 853ms 851ms █▇▁▇█
Warm (Listen) 456ms 456ms ▁▁▁▁▁
Warm (Ready in log) 444ms 445ms ▁▁▁▁▁
Warm (First Request) 348ms 350ms ▂▃▁▁▁
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 455ms 455ms ▁▁▁▁▁
Cold (Ready in log) 436ms 435ms ▂▆▅▇▁
Cold (First Request) 1.802s 1.803s ▂▄▃▄▁
Warm (Listen) 456ms 455ms ▁▁▁▁▁
Warm (Ready in log) 436ms 435ms ▁▅▅▅▁
Warm (First Request) 1.822s 1.809s ▁▃▄▄▁

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 4.277s 4.268s ▁▁▂▁▁
Cached Build 4.329s 4.336s ▁▁▂▁▂
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 13.888s 13.912s ▁▁▁▁▁
Cached Build 13.964s 13.974s ▂▁▁▁▂
node_modules Size 458 MB 458 MB ▁▁▁▁▁
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles: **430 kB** → **430 kB** ✅ -81 B

82 files with content-based hashes (individual files not comparable between builds)

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 790 B 785 B
Total 790 B 785 B ✅ -5 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 449 B 450 B
Total 449 B 450 B ⚠️ +1 B

📦 Webpack

Client

Main Bundles
Canary PR Change
2086.HASH.js gzip 169 B N/A -
2161-HASH.js gzip 5.41 kB N/A -
2747-HASH.js gzip 4.48 kB N/A -
4322-HASH.js gzip 52.3 kB N/A -
ec793fe8-HASH.js gzip 62.3 kB N/A -
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 251 B 254 B 🔴 +3 B (+1%)
main-HASH.js gzip 38.6 kB 38.9 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
1596.HASH.js gzip N/A 169 B -
2658-HASH.js gzip N/A 51.9 kB -
6349-HASH.js gzip N/A 4.46 kB -
7019-HASH.js gzip N/A 5.43 kB -
b17a3386-HASH.js gzip N/A 62.3 kB -
Total 225 kB 225 kB ✅ -10 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 336 B 335 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 352 B 349 B
hooks-HASH.js gzip 385 B 384 B
image-HASH.js gzip 580 B 580 B
index-HASH.js gzip 259 B 258 B
link-HASH.js gzip 2.5 kB 2.51 kB
routerDirect..HASH.js gzip 319 B 317 B
script-HASH.js gzip 385 B 387 B
withRouter-HASH.js gzip 316 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.97 kB 7.96 kB ✅ -8 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 125 kB 125 kB
page.js gzip 242 kB 237 kB 🟢 4.85 kB (-2%)
Total 366 kB 362 kB ✅ -4.84 kB
Middleware
Canary PR Change
middleware-b..fest.js gzip 652 B 654 B
middleware-r..fest.js gzip 155 B 156 B
middleware.js gzip 33.1 kB 33.3 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 34.8 kB 34.9 kB ⚠️ +179 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 738 B 738 B
Total 738 B 738 B
Build Cache
Canary PR Change
0.pack gzip 3.65 MB 3.66 MB 🔴 +9.13 kB (+0%)
index.pack gzip 98.4 kB 98.1 kB
index.pack.old gzip 98.9 kB 98.9 kB
Total 3.85 MB 3.86 MB ⚠️ +8.69 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 303 kB 303 kB
app-page-exp..prod.js gzip 158 kB 158 kB
app-page-tur...dev.js gzip 303 kB 303 kB
app-page-tur..prod.js gzip 158 kB 158 kB
app-page-tur...dev.js gzip 300 kB 300 kB
app-page-tur..prod.js gzip 156 kB 156 kB
app-page.run...dev.js gzip 300 kB 300 kB
app-page.run..prod.js gzip 156 kB 156 kB
app-route-ex...dev.js gzip 68.8 kB 68.8 kB
app-route-ex..prod.js gzip 47.6 kB 47.6 kB
app-route-tu...dev.js gzip 68.8 kB 68.8 kB
app-route-tu..prod.js gzip 47.6 kB 47.6 kB
app-route-tu...dev.js gzip 68.4 kB 68.4 kB
app-route-tu..prod.js gzip 47.4 kB 47.4 kB
app-route.ru...dev.js gzip 68.4 kB 68.4 kB
app-route.ru..prod.js gzip 47.3 kB 47.3 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 41.2 kB 41.2 kB
pages-api-tu..prod.js gzip 31.3 kB 31.3 kB
pages-api.ru...dev.js gzip 41.1 kB 41.1 kB
pages-api.ru..prod.js gzip 31.2 kB 31.2 kB
pages-turbo....dev.js gzip 50.8 kB 50.8 kB
pages-turbo...prod.js gzip 38.2 kB 38.2 kB
pages.runtim...dev.js gzip 50.7 kB 50.7 kB
pages.runtim..prod.js gzip 38.2 kB 38.2 kB
server.runti..prod.js gzip 62.2 kB 62.2 kB
Total 2.69 MB 2.69 MB ✅ -1 B

@sokra sokra force-pushed the sokra/module-graph-consistency branch from 965d41d to f872016 Compare January 13, 2026 15:43
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 2187e6b to dfa89fe Compare January 13, 2026 15:43
@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 13, 2026

Tests Passed

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 13, 2026

Merging this PR will not alter performance

✅ 17 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing sokra/compute-async-module-info-consistency (bf2f79f) with canary (cfe29f9)

Open in CodSpeed

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from dfa89fe to 979bcab Compare January 13, 2026 16:40
@sokra sokra force-pushed the sokra/module-graph-consistency branch from f872016 to 7f4e685 Compare January 13, 2026 16:40
@sokra sokra marked this pull request as ready for review January 13, 2026 16:40
@sokra sokra changed the title Consistency for compute_async_module_info Turbopack: Consistency for compute_async_module_info Jan 13, 2026
@sokra sokra force-pushed the sokra/module-graph-consistency branch from 7f4e685 to a70d6f0 Compare January 13, 2026 20:25
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 979bcab to 3d7469a Compare January 13, 2026 20:25
@sokra sokra force-pushed the sokra/module-graph-consistency branch from cc11d10 to d8ab648 Compare January 15, 2026 07:59
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 164804e to 55a43d8 Compare January 15, 2026 07:59
@sokra sokra force-pushed the sokra/module-graph-consistency branch from d8ab648 to b53ac2f Compare January 15, 2026 10:51
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 55a43d8 to 5ca3a00 Compare January 15, 2026 10:51
@sokra sokra force-pushed the sokra/module-graph-consistency branch from b53ac2f to bf897af Compare January 15, 2026 18:37
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 5ca3a00 to 5dc9d8d Compare January 15, 2026 18:37
@sokra sokra force-pushed the sokra/module-graph-consistency branch from bf897af to cea0b88 Compare January 15, 2026 19:19
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from 5dc9d8d to d431fb8 Compare January 15, 2026 19:20
@sokra sokra force-pushed the sokra/module-graph-consistency branch 3 times, most recently from 92471c6 to e21693e Compare January 16, 2026 05:45
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from d431fb8 to c81e9bb Compare January 16, 2026 05:45
@sokra sokra force-pushed the sokra/module-graph-consistency branch from e21693e to ab71fe2 Compare January 16, 2026 05:45
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch 2 times, most recently from 6a80439 to d990cb8 Compare January 16, 2026 07:03
@sokra sokra force-pushed the sokra/module-graph-consistency branch from ab71fe2 to 236485f Compare January 16, 2026 07:03
@sokra sokra changed the base branch from sokra/module-graph-consistency to graphite-base/88409 January 16, 2026 08:59
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from d990cb8 to d02817b Compare January 16, 2026 08:59
@sokra sokra force-pushed the graphite-base/88409 branch from 236485f to cfe29f9 Compare January 16, 2026 08:59
@graphite-app graphite-app bot changed the base branch from graphite-base/88409 to canary January 16, 2026 09:00
@sokra sokra force-pushed the sokra/compute-async-module-info-consistency branch from d02817b to bf2f79f Compare January 16, 2026 09:00
@sokra sokra merged commit 22fb1a0 into canary Jan 16, 2026
164 checks passed
Copy link
Member Author

sokra commented Jan 16, 2026

Merge activity

@sokra sokra deleted the sokra/compute-async-module-info-consistency branch January 16, 2026 09:41
wyattjoh pushed a commit that referenced this pull request Jan 16, 2026
### What?

Use strongly consistent reads for compute_async_module_info to avoid double execution.
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. Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants