Odwrotny indeks obiektów stron

HotPDF utrzymuje lokalny dla dokumentu indeks odwrotny od tożsamości obiektu strony do pozycji strony liczonej od zera

Zachowanie wyszukiwania

GetPageArrIndexForObjectNumber przyjmuje numer obiektu PDF, a GetPageArrIndexForObject przyjmuje zarówno rozwiązany obiekt strony, jak i THPDFLink

Obie metody zwracają -1, gdy wartość nie identyfikuje bieżącej strony

Jeśli źle uformowane wejście wystawi tę samą tożsamość więcej niż raz, deterministycznie wygrywa pierwsza strona w kolejności dokumentu

Budowa i unieważnianie

Indeks jest budowany leniwie przy pierwszym wyszukaniu i używa osobnych map z adresowaniem otwartym dla numerów obiektów i rozwiązanych wskaźników obiektów

Ładowanie, resetowanie, dodawanie, usuwanie, kopiowanie, zastępowanie, przenoszenie, odwracanie, zamiana, przestawianie lub uzgadnianie stron unieważnia mapy

Następne wyszukanie przebudowuje obie mapy z bieżącej kolejności stron, więc koszt mutacji nie zawiera zapobiegliwej przebudowy indeksu

Wydajność i własność

Mapy utrzymują współczynnik wypełnienia poniżej połowy i zapewniają oczekiwane wyszukiwanie w stałym czasie po budowie O(page count)

Brama regresji wykonuje milion wyszukiwań po mutacji w tabeli 100 000 stron i wymaga latencji p95 poniżej 5 mikrosekund na obu obsługiwanych celach Windows

Indeks przechowuje niewłasnościowe wskaźniki obiektów i jest zwalniany razem ze swoją instancją THotPDF

Nie mutuj instancji THotPDF współbieżnie z wyszukiwaniem stron, bo mutacja grafu załadowanego dokumentu pozostaje uszeregowana przez wywołującego

Zobacz też: GetPageArrIndexForObjectNumber, GetPageArrIndexForObject, GetPageReverseIndexStatistics