Avatar for the salsa-rs user
salsa-rs
salsa
BlogDocsChangelog

Reduce memory usage by deduplicating type information

#649Closed
Comparing
ChayimFriedman2:common-typeid-real
(
2ddcdda
) with
master
(
ab7ecb4
)
CodSpeed Performance Gauge
-7%
Regressions
1
Untouched
11

Benchmarks

Failed

amortized[SupertypeInput]Regression
benches/compare.rs::benches::inputs::Mutating Inputs::amortized[SupertypeInput]
CodSpeed Performance Gauge
-7%
4 µs4.3 µs

Passed

accumulator
benches/accumulator.rs::benches::accumulator::accumulator
CodSpeed Performance Gauge
+4%
4.3 ms4.2 ms
amortized[Input]
benches/compare.rs::benches::inputs::Mutating Inputs::amortized[Input]
CodSpeed Performance Gauge
+2%
3.5 µs3.5 µs
many_tracked_structs
benches/incremental.rs::benches::many_tracked_structs::many_tracked_structs
CodSpeed Performance Gauge
0%
38.3 µs38.3 µs
amortized[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs::amortized[InternedInput]
CodSpeed Performance Gauge
0%
3.4 µs3.4 µs
new[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs::new[InternedInput]
CodSpeed Performance Gauge
-1%
5.8 µs5.9 µs
converge_diverge
benches/dataflow.rs::benches::dataflow::converge_diverge
CodSpeed Performance Gauge
-1%
137.7 µs139.8 µs
new[Input]
benches/compare.rs::benches::inputs::Mutating Inputs::new[Input]
CodSpeed Performance Gauge
-2%
10.4 µs10.6 µs
mutating[30]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[30]
CodSpeed Performance Gauge
-2%
14.1 µs14.4 µs
mutating[20]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[20]
CodSpeed Performance Gauge
-2%
14 µs14.3 µs
mutating[10]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[10]
CodSpeed Performance Gauge
-2%
13.8 µs14.1 µs
new[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs::new[SupertypeInput]
CodSpeed Performance Gauge
-3%
17 µs17.5 µs

Commits

Click on a commit to change the comparison range
Base
master
ab7ecb4
-8.11%
Simplify
c96ccfb
5 months ago
by Veykril
-4.34%
Replace `RwLock` with boxcar + `AtomicPtr`
7e1b66f
5 months ago
by Veykril
+4.7%
Replace `boxcar::Vec` with an `AtomicPtr` for memo types We only garbage collect old types during a revision bump, and so we can replace the fast path with just an atomic load.
698a580
5 months ago
by ChayimFriedman2
+1.88%
Use `OnceLock` for `MemoEntryType`, instead of hand-rolling it
15cb9f7
5 months ago
by ChayimFriedman2
-1.29%
Fix Clippy
2ddcdda
5 months ago
by ChayimFriedman2
© 2025 CodSpeed Technology
Home Terms Privacy Docs