Begrensde objectstroom-cache

Geladen cross-reference-stromen kunnen gecomprimeerde leden indexeren zonder elke gedecodeerde /Type /ObjStm-container in het geheugen te bewaren

Bytelimiet en verwijdering

ObjectStreamCacheMaxBytes stelt het budget voor gedecodeerde containers in en is standaard 64 MiB

Wanneer een invoeging het budget overschrijdt, worden inactieve containers afzonderlijk verwijderd in volgorde van minst recent gebruikt, terwijl de container die momenteel een parserview bedient beschermd blijft totdat die view sluit

Een enkele container groter dan de limiet kan daarom resident zijn tijdens het actief parsen, maar behouden bytes convergen onmiddellijk daarna naar de geconfigureerde limiet

Herlaadbare leden

Verwijdering behoudt objectnummerindexen en gevalideerde lidoffsets

Een latere lidoplossing heropent de oorspronkelijke containerstroom, past documentontsleuteling en stroomfilters opnieuw toe en parseert het gevraagde lid via de bestaande zero-copy-sliceview

Stel de limiet in op nul om geen gedecodeerde containers te bewaren tussen lidoplossingen

Telemetrie

GetLoadedObjectStreamCacheInfo rapporteert de geconfigureerde limiet, huidige en piekbytes gedecodeerd, verwijderings- en herladingtellingen, cache-hits en -missers van leden en zero-copy-sliceactiviteit

Zie ook: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Zero-copy-objectstroom-slices