Skip to content

Commit 13c455c

Browse files
committed
feat!: Optimize JSON key deserialization with arena-based interning
- Add KeyArena in src/string.rs for per-document string deduplication - Refactor Value deserialization to intern object keys via ValueSeed - Ensure no_std compatibility with hashbrown + FxHasher - Add unit test confirming Rc<str> reuse across deserialized objects - Update Cargo.toml with hashbrown and rustc-hash dependencies Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
1 parent 1e4ff95 commit 13c455c

11 files changed

Lines changed: 1296 additions & 1580 deletions

File tree

Cargo.lock

Lines changed: 245 additions & 290 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ rand = { version = "0.9.0", default-features = false, features = ["thread_rng"],
117117
# Causes the project to link with the Spectre-mitigated CRT and libs.
118118
msvc_spectre_libs = { version = "0.1", features = ["error"], optional = true }
119119
dashmap = { version = "6.1", default-features = false, optional = true }
120+
hashbrown = { version = "0.15", default-features = false }
120121
mimalloc = { path = "mimalloc", optional = true }
122+
rustc-hash = { version = "1.1", default-features = false }
121123

122124
[dev-dependencies]
123125
anyhow = "1.0.45"

0 commit comments

Comments
 (0)