Índice inverso de objetos de página
HotPDF mantiene un índice inverso local al documento desde la identidad del objeto de página hasta la posición de página basada en cero
Comportamiento de búsqueda
GetPageArrIndexForObjectNumber acepta un número de objeto PDF, mientras que GetPageArrIndexForObject acepta un objeto de página resuelto o un THPDFLink
Ambos métodos devuelven -1 cuando el valor no identifica una página actual
Si una entrada malformada expone la misma identidad más de una vez, la primera página en orden de documento gana de forma determinista
Construcción e invalidación
El índice se construye de forma diferida en la primera búsqueda y usa mapas de direccionamiento abierto independientes para los números de objeto y los punteros de objeto resueltos
Cargar, restablecer, añadir, eliminar, copiar, reemplazar, mover, invertir, intercambiar, reordenar o conciliar páginas invalida los mapas
La siguiente búsqueda reconstruye ambos mapas a partir del orden de páginas actual, por lo que el coste de mutación no incluye una reconstrucción anticipada del índice
Rendimiento y propiedad
Los mapas mantienen su factor de carga por debajo de la mitad y proporcionan una búsqueda esperada de tiempo constante después de una construcción O(recuento de páginas)
Una puerta de regresión realiza un millón de búsquedas después de la mutación en una tabla de 100 000 páginas y exige una latencia p95 inferior a 5 microsegundos en ambos destinos Windows admitidos
El índice almacena punteros de objeto sin propiedad y se libera con su instancia de THotPDF
No mute una instancia de THotPDF de forma concurrente con la búsqueda de páginas porque la mutación del grafo de documentos cargados sigue serializada por el llamador
Véase también: GetPageArrIndexForObjectNumber, GetPageArrIndexForObject, GetPageReverseIndexStatistics