next.js
turbo-tasks: add hashed cell mode for hash-based change detection without cell data
#91576
Merged

turbo-tasks: add hashed cell mode for hash-based change detection without cell data #91576

sokra merged 28 commits into canary from sokra/store-hash-only
sokra
nextjs-bot nextjs-bot added created-by: Turbopack team
nextjs-bot nextjs-bot added Turbopack
nextjs-bot
codspeed-hq
nextjs-bot
vercel
vercel commented on 2026-03-18
nextjs-bot
nextjs-bot
sokra sokra force pushed to b8843b4b 52 days ago
sokra
sokra commented on 2026-03-19
sokra
sokra commented on 2026-03-19
sokra
sokra commented on 2026-03-19
sokra
sokra commented on 2026-03-19
sokra sokra marked this pull request as ready for review 52 days ago
sokra sokra requested a review from lukesandberg lukesandberg 51 days ago
sokra sokra force pushed from 2b1c1afc to 4da8bd6d 51 days ago
sokra sokra force pushed from 4da8bd6d to 93a24b03 51 days ago
lukesandberg
lukesandberg commented on 2026-03-19
lukesandberg
lukesandberg commented on 2026-03-19
lukesandberg
lukesandberg commented on 2026-03-19
lukesandberg
lukesandberg commented on 2026-03-19
lukesandberg
lukesandberg requested changes on 2026-03-19
sokra sokra force pushed from 90d2dd78 to ac5c64b4 50 days ago
sokra sokra force pushed from bb8772f9 to f403949e 46 days ago
sokra sokra force pushed from f403949e to 7e3fb9f9 46 days ago
sokra sokra force pushed from 7e3fb9f9 to b04549b7 45 days ago
lukesandberg
lukesandberg commented on 2026-03-26
lukesandberg
lukesandberg approved these changes on 2026-03-26
sokra Add cell = "hashed" mode and hash-based cell change detection
3aca7691
sokra Defer hash computation to only when the cell actually needs updating
0d32ef8d
sokra Default cell mode to "hashed" when serialization = "none" and eq is a…
92c0eb60
sokra Revert "Default cell mode to "hashed" when serialization = "none" and…
45affb0e
sokra Replace cell = "hashed" with serialization = "hash"
f76f7bee
sokra Add hash = "manual" opt-out for serialization = "hash" auto-derive
1f1db713
vercel[bot] Fix: Documentation for `#[turbo_tasks::value]` macro references non-e…
a9bb50bf
sokra Fix conflicting Hash impl in hashed_cell_mode test
796aa005
sokra Add PersistedFileContent and switch serialization = "hash" to use Det…
5ba214c1
sokra Address review: let macro auto-derive DeterministicHash for FileConte…
919ad4a4
sokra Remove redundant doc line from PersistedFileContent::streaming_compare
e212947f
sokra Address review: add doc comment to PersistedFileContent, fix comment …
fa6b5474
sokra Always update cell_data_hash for non-serializable cells regardless of…
de64238d
sokra Simplify write_file by removing separate persisted_content variable
a87e5f72
sokra Address review: remove unnecessary trace_ignore, fix wording in doc c…
1c42984d
sokra Skip cell_data_hash update when hash value is unchanged
6fd4b889
sokra Detect duplicate assets with different content and emit node/client a…
85df6820
sokra Add hash-based serialization for Code and persist module factory code…
71618f96
sokra Fix clippy warnings in emit.rs
536cea42
sokra Change cell data hash from u64 to u128
117a9830
sokra Fix turbo-tasks-testing missed update_own_task_cell u64→u128
05ba20e9
sokra Add TODO for actual diff in assets_diff
7bb1726e
sokra sokra force pushed from 92f63b4f to 7bb1726e 45 days ago
sokra Update test_schema_size expected LazyField size to 64 after u64→u128
aa868672
sokra Box cell_data_hash field to keep LazyField size at 56 bytes
39b1af09
sokra Improve comment explaining why cell_data_hash is boxed
5fe5f4d1
sokra Box the u128 value in cell_data_hash to keep LazyField at 56 bytes
fc19ba5f
sokra Change cell_data_hash from Box<u128> to [u8; 16]
2de9150b
sokra Represent cell content hash as [u8; 16] throughout the pipeline
e7811ffa
sokra sokra merged 0090db22 into canary 44 days ago
sokra sokra deleted the sokra/store-hash-only branch 44 days ago
github-actions github-actions added locked
github-actions github-actions locked as resolved and limited conversation to collaborators 30 days ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
No one assigned
Labels
Milestone