-
Notifications
You must be signed in to change notification settings - Fork 30.3k
Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting #88668
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
Conversation
CodSpeed Performance ReportMerging this PR will not alter performanceComparing Summary
Footnotes
|
823a5c3 to
8964035
Compare
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: **432 kB** → **432 kB** ✅ -49 B82 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
|
e02a9ba to
ee8dc1e
Compare
8964035 to
17902e9
Compare
d71635f to
b84ae7d
Compare
17902e9 to
40bb0f1
Compare
40bb0f1 to
b302330
Compare
b84ae7d to
917ff14
Compare
… string formatting
b302330 to
8e9c123
Compare
Tests Passed |

tokio::task::spawn_blockingcall fromretry_blocking, so we can simplify things a lot by removing theSend + 'staticbounds, and eliminate a bunch of cloningPaths intoPathBufs.retry_blockingno longer takes a path argument. After removing the path cloning requirements, it's now easier for callers to capture paths via a closure, and it's more flexible for IO operations that need to pass in more than a single path.retry_blocking_custom, which I use in Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows #88669 that allows customizing what error kinds we retry on.retry_blockingexplaining why we need this. It's often unclear to new people on the team why we have to retry filesystem operations (Windows, basically). This was unclear to me when I was new to this code, and other people have asked similar questions.Path::displayfor error messages or tracing spans. It's easier to useDebug, andDebugensures that if the error is related to unicode, that information isn't lost in the error message..instrument.let foo = RcStr::from(bar)is preferred overlet foo: RcStr = bar.into()