← EnergyView

Optimalisatie 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:

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

ScenarioEerste baselineTweede referentierunMet policycache
EV + batterij40,12 s64,91 s gecontendeerd; 39,69 s geïsoleerde herhaling20,17 s
Batterijstudie14,89 s15,93 s8,15 s
Aankoopplan72,45 s54,28 s29,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.