Caché acotada de flujos de objetos

Los flujos de referencias cruzadas cargados pueden indexar miembros comprimidos sin retener todos los contenedores /Type /ObjStm decodificados en memoria

Límite de bytes y expulsión

ObjectStreamCacheMaxBytes define el presupuesto de contenedores decodificados y tiene por defecto el valor 64 MiB

Cuando una inserción supera el presupuesto, los contenedores inactivos se expulsan individualmente en orden de uso menos reciente, mientras que el contenedor que está sirviendo actualmente una vista del analizador permanece protegido hasta que esa vista se cierre

Un contenedor único mayor que el límite puede, por lo tanto, residir durante su análisis activo, pero los bytes retenidos convergen al límite configurado inmediatamente después

Miembros recargables

La expulsión conserva los índices de número de objeto y los desplazamientos de miembros validados

Una resolución posterior de miembro reabre el flujo de contenedor original, vuelve a aplicar el descifrado de documentos y los filtros de flujo, y analiza el miembro solicitado mediante la vista de fragmento de copia cero existente

Defina el límite en cero para no retener contenedores decodificados entre resoluciones de miembros

Telemetría

GetLoadedObjectStreamCacheInfo informa el límite configurado, los bytes decodificados actuales y máximos, los recuentos de expulsión y recarga, los aciertos y fallos de la caché de miembros y la actividad de fragmentos de copia cero

Ver también: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Fragmentos de flujos de objetos de copia cero