Ograniczona pamięć podręczna strumieni obiektów

Załadowane strumienie referencji krzyżowych mogą indeksować skompresowanych członków bez utrzymywania w pamięci każdego zdekodowanego kontenera /Type /ObjStm

Limit bajtów i ewidkcja

ObjectStreamCacheMaxBytes ustawia budżet zdekodowanych kontenerów i domyślnie wynosi 64 MiB

Gdy wstawienie przekracza budżet, nieaktywne kontenery są usuwane pojedynczo w kolejności najmniej ostatnio używanych, podczas gdy kontener aktualnie obsługujący widok parsera pozostaje chroniony do czasu zamknięcia tego widoku

Pojedynczy kontener większy niż limit może zatem pozostawać w pamięci podczas swojego aktywnego parsowania, ale zachowane bajty zaraz potem zbiegają się do skonfigurowanego limitu

Członkowie możliwi do ponownego załadowania

Ewidkcja zachowuje indeksy numerów obiektów i sprawdzone przesunięcia członków

Późniejsze rozwiązanie członka ponownie otwiera oryginalny strumień kontenera, ponownie stosuje deszyfrowanie dokumentu i filtry strumieni oraz parsuje żądanego członka przez istniejący widok wycinka zerokopijnego

Ustaw limit na zero, aby nie przechowywać zdekodowanych kontenerów między rozwiązaniami członków

Telemetria

GetLoadedObjectStreamCacheInfo zgłasza skonfigurowany limit, bieżące i maksymalne zdekodowane bajty, liczniki ewidkcji i ponownych załadowań, trafienia i chybienia pamięci podręcznej członków oraz aktywność wycinka zerokopijnego

Zobacz też: ObjectStreamCacheMaxBytes, GetLoadedObjectStreamCacheInfo, Wycinki strumieni obiektów bez kopiowania