salsa-rs
salsa
BlogDocsChangelog

Shrink `DatabaseKeyIndex` to 8 bytes to save memory

#1045
Comparing
ChayimFriedman2:shrink-dki
(
0298d29
) with
master
(
ce80691
)
CodSpeed Performance Gauge
+7%
Improvements
2
Untouched
11

Benchmarks

Improved

amortized[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
+7%
2.9 µs2.7 µs
accumulator
benches/accumulator.rs::benches::accumulator
CodSpeed Performance Gauge
+5%
3.3 ms3.2 ms

Passed

converge_diverge
benches/dataflow.rs::benches::dataflow
CodSpeed Performance Gauge
+3%
152.8 µs148.1 µs
many_tracked_structs
benches/incremental.rs::benches::many_tracked_structs
CodSpeed Performance Gauge
+3%
9 µs8.8 µs
converge_diverge_nested
benches/dataflow.rs::benches::nested
CodSpeed Performance Gauge
+3%
116.3 µs113.3 µs
amortized[Input]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
+1%
2.2 µs2.1 µs
new[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
+1%
16.3 µs16.2 µs
amortized[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
2.1 µs2.1 µs
mutating[20]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
15 µs15.1 µs
mutating[30]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
14.9 µs15 µs
mutating[10]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
14.3 µs14.4 µs
new[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
-1%
4.4 µs4.4 µs
new[Input]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
-1%
10.6 µs10.7 µs

Commits

Click on a commit to change the comparison range
Base
master
ce80691
+6.53%
Shrink `DatabaseKeyIndex` to 8 bytes to save memory Via the observation that: - The `IngredientIndex` can be retrieved from the page, except for tracked fns - The generation is useless, except for interneds And since they don't overlap, we can store only what needed for each.
0298d29
22 hours ago
by ChayimFriedman2
© 2025 CodSpeed Technology
Home Terms Privacy Docs