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

Reduce memory usage by deduplicating type information

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

Benchmarks

Failed

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

Passed

accumulator
benches/accumulator.rs::benches::accumulator::accumulator
CodSpeed Performance Gauge
+4%
4.3 ms
4.2 ms
amortized[Input]
benches/compare.rs::benches::inputs::Mutating Inputs::amortized[Input]
CodSpeed Performance Gauge
+2%
3.5 µs
3.5 µs
many_tracked_structs
benches/incremental.rs::benches::many_tracked_structs::many_tracked_structs
CodSpeed Performance Gauge
0%
38.3 µs
38.3 µs
amortized[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs::amortized[InternedInput]
CodSpeed Performance Gauge
0%
3.4 µs
3.4 µs
new[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs::new[InternedInput]
CodSpeed Performance Gauge
-1%
5.8 µs
5.9 µs
converge_diverge
benches/dataflow.rs::benches::dataflow::converge_diverge
CodSpeed Performance Gauge
-1%
137.7 µs
139.8 µs
new[Input]
benches/compare.rs::benches::inputs::Mutating Inputs::new[Input]
CodSpeed Performance Gauge
-2%
10.4 µs
10.6 µs
mutating[30]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[30]
CodSpeed Performance Gauge
-2%
14.1 µs
14.4 µs
mutating[20]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[20]
CodSpeed Performance Gauge
-2%
14 µs
14.3 µs
mutating[10]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs::mutating[10]
CodSpeed Performance Gauge
-2%
13.8 µs
14.1 µs
new[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs::new[SupertypeInput]
CodSpeed Performance Gauge
-3%
17 µs
17.5 µs

Commits

Click on a commit to change the comparison range
Base
master
ab7ecb4
-8%
Simplify
c96ccfb
2 days ago
by Veykril
-4%
Replace `RwLock` with boxcar + `AtomicPtr`
7e1b66f
2 days ago
by Veykril
+5%
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
2 days ago
by ChayimFriedman2
+2%
Use `OnceLock` for `MemoEntryType`, instead of hand-rolling it
15cb9f7
2 days ago
by ChayimFriedman2
-1%
Fix Clippy
2ddcdda
2 days ago
by ChayimFriedman2
© 2025 CodSpeed Technology
Home Terms PrivacyDocs