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