> **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<HashMap>` 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
