-
Notifications
You must be signed in to change notification settings - Fork 30.3k
Move task encoding to save_snapshot for parallel encoding and buffer reuse #88924
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: canary
Are you sure you want to change the base?
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CodSpeed Performance ReportMerging this PR will not alter performanceComparing Summary
Footnotes
|
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
|
- Add Tiny variant for inline storage of values ≤22 bytes (no heap allocation) - Change Small/Medium to use Box<[u8]> instead of SmallVec/Vec - Simplify ValueBuffer API with single into_boxed_slice() method - Add TODO comment about work distribution fairness in write_batch Co-Authored-By: Claude <[email protected]>
866e2c8 to
ff6b6d5
Compare

What
Change when TaskStorage encoding happens so it can happen in parallel as we accumulate data for the sst files.
Why
Currently encoding for a snapshot happens in a single thread when iterating the 'snapshot shards'. Encoding allocates a lot of memory into temporary buffers and then we organize it into files in parallel.
By deferring slightly when encoding happens we can