← EnergyViewOptimalisatie 1: exacte korte-horizon batterijpolicies hergebruiken
Referentie: applicatie 2249967; vangnet/metingen 18d53e8. Alleen de uitvoering van de bestaande discrete DP is veranderd. Geen prijs-, beschikbaarheids-, rendements-, grootte- of selectieregel is gewijzigd.
Het CPU-profiel legde 46,6% self-time bij dynamicBattery, vooral de overgangslus op de toenmalige regels 21–23. Onderzoek:
- Blokondergrenzen: exacte resultaten, maar de directe jaarbenchmark ging van 257 naar 695 ms. Verworpen.
- Vier transitions uitrollen: directe jaarbenchmark 287 naar 241 ms, maar de volledige EV/batterijcase verbeterde niet aantoonbaar (42,7 s versus eerdere circa 40 s). Niet behouden.
- Lusvolgorde transponeren: exact maar 273 naar 339 ms. Verworpen.
- Behouden: policies voor identieke fysieke korte-horizonproblemen opnieuw gebruiken. Registers en timestamps worden altijd opnieuw opgebouwd op de echte invoer. De bestaande overgangsvolgorde en 1e-10 tie-breaking blijven letterlijk gelijk.
De sleutel omvat elke afname/injectie, buy/sell, exportmogelijkheid, maandpiekgrens, batterijgrootte/vermogen/rendement/reserve/eindlading en de bestaande externe marginale kosten. Een 32-bit hash is alleen een index: alle Float64-bits worden daarnaast vergeleken. Arbitrary callbacks vallen buiten het hergebruik. De cache is begrensd op 8 MiB en geldt alleen voor horizons <=384 kwartieren; dezelfde module leeft in de analyseworker. De solver blijft ongewijzigd beschikbaar voor unieke/lange problemen. Losse lange solves zijn daarmee niet gegarandeerd sneller.
Gemeten volledige scenario's, inclusief profileroverhead
| Scenario | Eerste baseline | Tweede referentierun | Met policycache |
|---|
| EV + batterij | 40,12 s | 64,91 s gecontendeerd; 39,69 s geïsoleerde herhaling | 20,17 s |
| Batterijstudie | 14,89 s | 15,93 s | 8,15 s |
| Aankoopplan | 72,45 s | 54,28 s | 29,19 s |
De tijden zijn Node-metingen op dezelfde referentiehost; geen telefoon- of Long-Taskmetingen. De baseline kende spreiding, daarom geen procentuele browserclaim. Zelfs tegenover de snellere tweede referentierun halveert de aankoopcase ongeveer. Piek-RSS blijft hoog: EV circa 1.196 MiB, aankoop circa 1.163 MiB; dit werk bewijst geen opgelost mobiel geheugenprobleem.
Correctheidsbewijs
Alle acht golden-scenario's slagen met dezelfde ranglijsten en contractkeuzes, maximaal €0,01 en maximaal 1e-8 voor fysieke waarden. Daarnaast vergelijken 100 deterministische uiteenlopende profielen en een heel jaar de volledige solver-output bit-identiek met de bewaarde referentiesolver. Een aparte test controleert cache-evictie, bitvergelijking bij hashbotsingen, gewijzigde prijzen/grenzen/correcties, afwijkende timestamps en registers, en callbackisolatie. De €20-policy en de investeringsselectie zijn in deze optimalisatie nog ongewijzigd.
De geplande inhoudelijke adviescorrecties volgen in een eigen commit en krijgen een expliciet beoordeelde nieuwe goldenreferentie, zodat ze niet als performanceverandering worden verstopt.