# Story 11.10: MovingBoundaryHX - Cache Optimization **Epic:** 11 - Advanced HVAC Components **Priorité:** P1-HIGH **Estimation:** 4h **Statut:** backlog **Dépendances:** Story 11.9 (MovingBoundaryHX Zones) --- ## Story > En tant qu'utilisateur critique de performance, > Je veux que le MovingBoundaryHX mette en cache les calculs de zone, > Afin que les itérations 2+ soient beaucoup plus rapides. --- ## Contexte Le calcul complet de discrétisation prend ~50ms. En mettant en cache les résultats, les itérations suivantes peuvent utiliser l'interpolation linéaire en ~2ms (25x plus rapide). --- ## Cache Structure ```rust pub struct MovingBoundaryCache { // Positions des frontières de zone (0.0 à 1.0) pub zone_boundaries: Vec, // UA par zone pub ua_per_zone: Vec, // Enthalpies de saturation pub h_sat_l_hot: f64, pub h_sat_v_hot: f64, pub h_sat_l_cold: f64, pub h_sat_v_cold: f64, // Conditions de validité pub p_ref_hot: f64, pub p_ref_cold: f64, pub m_ref_hot: f64, pub m_ref_cold: f64, // Cache valide? pub valid: bool, } ``` --- ## Critères d'Acceptation - [ ] Itération 1: calcul complet (~50ms) - [ ] Itérations 2+: cache si ΔP < 5% et Δm < 10% (~2ms) - [ ] Cache invalidé sur changements significatifs - [ ] Cache stocke: zone_boundaries, ua_per_zone, h_sat values, refs --- ## Références - [Epic 11 Technical Specifications](../planning-artifacts/epic-11-technical-specifications.md)