Skip to content

feat: add volatile tracked query caching#1135

Draft
MichaReiser wants to merge 7 commits into
salsa-rs:masterfrom
MichaReiser:volatile-query-cache
Draft

feat: add volatile tracked query caching#1135
MichaReiser wants to merge 7 commits into
salsa-rs:masterfrom
MichaReiser:volatile-query-cache

Conversation

@MichaReiser

@MichaReiser MichaReiser commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Add an opt-in volatile capacity for tracked queries so large, short-lived values can be collected within a revision.

Volatile queries reuse SIEVE victim selection from #1226 but reclaim selected memo values immediately; owned handles keep concurrent readers safe while metadata remains available for validation and tracked-ID reuse.

Testing: Passed Clippy, workspace, persistence, manual-registration, Shuttle, documentation, and targeted Miri checks.

@netlify

netlify Bot commented Jun 15, 2026

Copy link
Copy Markdown

Deploy Preview for salsa-rs ready!

Name Link
🔨 Latest commit 5cf55fa
🔍 Latest deploy log https://app.netlify.com/projects/salsa-rs/deploys/6a496ebba6e585000877ddce
😎 Deploy Preview https://deploy-preview-1135--salsa-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codspeed-hq

codspeed-hq Bot commented Jun 15, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 82.16%

⚡ 2 improved benchmarks
❌ 12 regressed benchmarks
✅ 60 untouched benchmarks
🆕 13 new benchmarks
⏩ 12 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation interned_field_read_many 211.2 µs 837,242.9 µs -99.97%
Simulation input_field_read_many 260.1 µs 706,622.7 µs -99.96%
Simulation tracked_field_read_many 271 µs 135,703.6 µs -99.8%
Simulation untracked_field_read_many 220.7 µs 40,200.6 µs -99.45%
Simulation fill_and_evict[Lru] 443.5 µs 621.1 µs -28.61%
Memory fill_and_evict[NoEviction] 23.4 KB 25.9 KB -9.64%
Simulation fill_and_evict[NoEviction] 379.1 µs 413.4 µs -8.29%
Simulation converge_diverge_nested 130.8 µs 142.3 µs -8.08%
Memory fill_and_evict[Lru] 35.5 KB 38 KB -6.58%
Simulation converge_diverge 152.6 µs 162.2 µs -5.92%
WallTime project_check_then_incremental[Lru] 9.8 ms 10.4 ms -5.51%
WallTime parallel_fast_path[Lru] 3.8 ms 3.9 ms -4.35%
Simulation cold_execute 266.5 ms 5.4 ms ×49
Simulation deep_verify_then_execute 4.9 ms 3.2 ms +53.9%
🆕 WallTime one_hit_wonders[Sieve] N/A 1 ms N/A
🆕 WallTime parallel_fast_path[Sieve] N/A 409 µs N/A
🆕 WallTime phase_change[Sieve] N/A 353.7 µs N/A
🆕 WallTime project_check_then_incremental[Sieve] N/A 6.9 ms N/A
🆕 WallTime scan_resistance[Sieve] N/A 1.2 ms N/A
🆕 Memory disabled_eviction[Sieve] N/A 0 B N/A
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing MichaReiser:volatile-query-cache (5cf55fa) with master (caa352f)

Open in CodSpeed

Footnotes

  1. 12 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@MichaReiser MichaReiser force-pushed the volatile-query-cache branch 2 times, most recently from 2bffe6c to 2653f68 Compare June 30, 2026 20:20
@MichaReiser MichaReiser force-pushed the volatile-query-cache branch from 2653f68 to 5cf55fa Compare July 4, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant