Caché acotada de flujos de objetos
Los flujos de referencias cruzadas cargados pueden indexar miembros comprimidos sin conservar en memoria cada contenedor /Type /ObjStm decodificado
Límite de bytes y expulsión
ObjectStreamCacheMaxBytes establece el presupuesto de contenedores decodificados y tiene como valor predeterminado 64 MiB
Cuando una inserción cruza el presupuesto, los contenedores inactivos se expulsan individualmente en orden de uso menos reciente mientras el contenedor que atiende actualmente una vista de analizador permanece protegido hasta que esa vista se cierra
Un único contenedor mayor que el límite puede, por tanto, residir durante su análisis activo, pero los bytes conservados convergen al límite configurado inmediatamente después
Miembros recargables
La expulsión preserva los índices de número de objeto y los desplazamientos de miembro validados
Una resolución de miembro posterior reabre el flujo de contenedor original, vuelve a aplicar el descifrado del documento y los filtros de flujo y analiza el miembro solicitado mediante la vista de rebanada de copia cero existente
Establezca el límite en cero para no conservar contenedores decodificados entre resoluciones de miembro
Telemetría
GetLoadedObjectStreamCacheInfo informa del límite configurado, de los bytes decodificados actuales y máximos, de los recuentos de expulsión y recarga, de los aciertos y fallos de caché de miembro y de la actividad de rebanadas de copia cero
Véase también: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Zero-Copy Object-Stream Slices