Reverzní index stránek
Reverzní index stránek mapuje nepřímé objekty a zdroje zpět na stránky, které je používají
Chování vyhledávání
GetPageArrIndexForObjectNumber přijímá číslo objektu PDF, zatímco GetPageArrIndexForObject přijímá buď resolveovaný objekt stránky, nebo THPDFLink
Obě metody vrátí -1, když hodnota neidentifikuje aktuální stránku
Index se sestavuje a zneplatňuje podle změn grafu a poskytuje statistiky pro diagnostiku i cílené úpravy
Konstrukce a zneplatnění
Index se staví líně při prvním hledání a používá oddělené open-addressed mapy pro čísla objektů a resolveované ukazatele objektů
Načtení, reset, přidání, smazání, kopírování, nahrazení, přesun, obrácení, prohození, přeřazení či vysrovnání stránek zneplatní mapy
Další hledání obě mapy znovu postaví z aktuálního pořadí stránek, takže náklad mutace nezahrnuje vstřícný rebuild indexu
Výkonnost a vlastnictví
Mapy drží svůj load factor pod polovinou a poskytují očekávané hledání v konstantním čase po stavbě za O(počet stránek)
Regresní brána provede milion hledání po mutaci v tabulce 100 000 stránek a vyžaduje p95 latenci pod 5 mikrosekundami na obou podporovaných Windows cílech
Index ukládá nevlastnící ukazatele objektů a uvolní se spolu se svou instancí THotPDF
Nemutujte instanci THotPDF souběžně s hledáním stránek, protože mutace grafu načteného dokumentu zůstává serializovaná volajícím
Viz také: GetPageArrIndexForObjectNumber, GetPageArrIndexForObject, GetPageReverseIndexStatistics