Typen in documenten met risicotabellen is traag: kwaliteitsscan decodeert tabellen kwadratisch bij elke rebuild #2710
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2710
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Probleem
Bij het typen in een document met
ocideck:-contracttabellen (bijv. een FMEA-risicoanalyse) hapert de invoer. Gemeten op een synthetisch FMEA-document (~54 KB, 40 risicori × 16 kolommen, 2 gekoppelde weergaven, 1 calc):riskQualityFindings(source)kost ~85 ms en draait synchroon in_docToolbarbij elke scherm-rebuild — dus zowel per caret-debounce (~160 ms) als per bron-flush (~300 ms) tijdens typen.OciMarkedTable.bodyRows/contractRows/decodedRowsde hele tabel bij elke aanroep. Lussen alsfor (i < table.bodyRows.length)mettable.contractRows[i]per rij zijn daardoor O(rijen² × kolommen). Dezelfde kwadratische decodering zit inrisk_view,risk_dossier,risk_bowtie,risk_bowtie_diagramenrisk_calc.Oplossing
OciMarkedTable: de gedecodeerde rijen lazily memoiseren (één decode per tabel i.p.v. per toegang) — herstelt de lineaire kostenklasse voor alle aanroepers.