Cache dei Flussi di Oggetti Delimitata

I flussi di riferimento incrociato caricati possono indicizzare membri compressi senza conservare in memoria ogni contenitore /Type /ObjStm decodificato

Limite di byte ed espulsione

ObjectStreamCacheMaxBytes imposta il budget dei contenitori decodificati e ha per predefinito 64 MiB

Quando un inserimento supera il budget, i contenitori inattivi vengono espulsi singolarmente in ordine di utilizzo meno recente, mentre il contenitore che sta servendo una vista di parser resta protetto finché quella vista non si chiude

Un singolo contenitore più grande del limite può quindi restare residente durante la sua analisi attiva, ma i byte conservati convergono subito dopo sul limite configurato

Membri ricaricabili

L'espulsione preserva gli indici dei numeri di oggetto e gli offset dei membri validati

Una risoluzione successiva di un membro riapre il flusso contenitore originale, riapplica la decrittazione del documento e i filtri dei flussi ed esegue l'analisi del membro richiesto tramite la vista di slice zero-copy esistente

Impostare il limite su zero per non conservare alcun contenitore decodificato tra le risoluzioni dei membri

Telemetria

GetLoadedObjectStreamCacheInfo riporta il limite configurato, i byte decodificati correnti e di picco, i conteggi di espulsione e ricarica, gli hit e i miss della cache dei membri e l'attività di slice zero-copy

Vedi anche: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Zero-Copy Object-Stream Slices