> **Plain-language companion:** [v0.52.0.md](v0.52.0.md) ## v0.52.0 — DVM Hot-Path Performance **Status: Released.** Derived from [ROADMAP.md](../ROADMAP.md) and [plans/PLAN_OVERALL_ASSESSMENT_11.md](../plans/PLAN_OVERALL_ASSESSMENT_11.md). > **Release Theme** > Eliminate four hot-path costs in the DVM differential refresh pipeline. > All four items are identified as HIGH or MEDIUM findings in the v0.51.0 > overall assessment (Report 11). Together they materially reduce CPU and > memory overhead on every differential refresh cycle. --- ### Performance | ID | Title | Effort | Priority | |----|-------|--------|----------| | P-1 | O(1) placeholder resolution via `aho-corasick` single-pass | 1d | HIGH | | P-2 | Thread-local volatility cache in `lookup_function_volatility()` | 0.5d | HIGH | | P-3 | Lazy `DiffContext` allocations — `Option` for rarely-used maps | 0.5d | MEDIUM | | P-8 | O(1) MERGE template cache LRU eviction using `lru` crate | 0.5d | LOW | ### Correctness | ID | Title | Effort | Priority | |----|-------|--------|----------| | C-1 | Replace `expect()` in `filter.rs` HAVING path with `PgTrickleError` | 0.25d | LOW | --- ### Recommended Implementation Order | Phase | Items | Description | |-------|-------|-------------| | Phase 1 | C-1 | Quick safety fix — no logic change | | Phase 2 | P-2, P-3 | Caching and allocation fixes in DVM internals | | Phase 3 | P-1 | Aho-Corasick placeholder resolution | | Phase 4 | P-8 | LRU eviction replacement | --- ### Implementation Status | ID | Title | Status | |----|-------|--------| | C-1 | Replace `expect()` in filter.rs HAVING path | ✅ Done | | P-2 | Thread-local volatility cache | ✅ Done | | P-3 | Lazy DiffContext allocations | ✅ Done | | P-1 | O(1) placeholder resolution via aho-corasick | ✅ Done | | P-8 | O(1) MERGE template LRU eviction | ✅ Done | --- ### Exit Criteria - [x] All P0 items ✅ Done - [x] `just test-all` passes - [x] `just check-version-sync` exits 0 - [x] CHANGELOG.md entry written - [x] ROADMAP.md v0.52.0 row marked ✅ Released