Zero-Copy-Object-Stream-Slices

Wenn die Link-Auflösung erstmals ein komprimiertes /Type /ObjStm-Member materialisiert, liest der Parser nun eine Zero-Copy-Slice-View auf dem gemeinsamen dekomprimierten Container-Puffer statt eines duplizierten Teilstrings plus einer zweiten Stream-Kopie, sodass große Dokumente mit vielen Membern die doppelte Kopie pro Objekt nicht mehr zahlen

THPDFObjectStreamSliceStream

Eine öffentliche Read-only-TStream-View über (Quelle, Offset, Länge): Sie hält den Quell-AnsiString per Referenz, damit die Container-Bytes ohne Duplizierung am Leben bleiben, liefert exakt die Member-Bytes, hängt ein virtuelles LF ans Ende an, damit Parser dasselbe Layout sehen wie bei der Legacy-Kopie, und klemmt bei Seeks vor dem Slice-Anfang, statt auszulösen — ganz im Sinne der Nachsichtigkeit von TMemoryStream

THPDFObjectStreamCacheInfo

Zwei neue Diagnostiken berichten über den Zero-Copy-Pfad: SliceViewCount zählt die an den Parser übergebenen Member-Views und SliceViewBytes summiert die von ihnen abgedeckten Member-Bytes, neben den bestehenden Containern-, Indexierungs-, Hit-, Miss- und Cached-Byte-Zählern, die GetLoadedObjectStreamCacheInfo zurückliefert