fix: make immortal interned values cheaper - #1255
Conversation
✅ Deploy Preview for salsa-rs canceled.
|
Merging this PR will regress 3 benchmarks
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
75dd835 to
d9908d8
Compare
|
Does ty have statically immortal interned values? In r-a we use If nobody needs this, it does not make sense to optimize this. |
|
We currently don't. But it seems wasteful to track all LRU metadata for interned values that have LRU disabled. But we can consider removing |
Main benefit; It also reduces the size of each interned value because we avoid storing the unnecessary Lru overhead.
Maps
revisions = usize::MAXto a compact compile-time no-eviction policy while keeping LRU as the default and preserving the existing macro API.Removes unused LRU state and bookkeeping for immortal values; simulation improves hot interning by 32.6% and cold interning by 13.6%, with no LRU regression.
Testing: Added behavioral, persistence, layout, and performance coverage; full suites and lint checks pass.