-
Notifications
You must be signed in to change notification settings - Fork 30.4k
[turbopack] add a new hasher implementation to eliminate allocations #89059
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
base: remove_backend_field
Are you sure you want to change the base?
Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles: **434 kB** → **434 kB** ✅ -2 B81 files with content-based hashes (individual files not comparable between builds) Server Middleware
Build DetailsBuild Manifests
📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
|
1750d5e to
83303ff
Compare
1eb984c to
d1287e0
Compare
83303ff to
a974ae3
Compare
Tests Passed |
a974ae3 to
9dfbd35
Compare
d1287e0 to
262d47a
Compare
922a7d8 to
6d6fb80
Compare
9dfbd35 to
0b20818
Compare
6d6fb80 to
0ecbfe9
Compare
0b20818 to
9621e35
Compare
4fac530 to
cee667c
Compare
92efbfb to
5f9077c
Compare
cee667c to
6cade98
Compare
5f9077c to
6f0d811
Compare
6cade98 to
9fe6b3c
Compare
9fe6b3c to
196ff15
Compare
6f0d811 to
9824cff
Compare

We only store hashes for TaskTypes in the TaskCache keyspace, so this introduces an allocation free path to compute it.
For writing out the TaskCache this wont make much of a difference since we were reusing a scratch buffer, but this should eliminate a source of allocations from the read path.
This does of course cause a small binary size regression
157M (160,952K) -> 158M (161,800K) = +1M (+848K)