Non riesco a indicarvi una libreria esistente con prestazioni migliori, ma, come ricordo, GeoModel è open source e il codice non è difficile da comprendere. Abbiamo scoperto che potremmo apportare alcuni miglioramenti di velocità adeguando il codice al nostro scenario. Ad esempio, se non è necessario il più vicino-n, sono necessari solo i risultati X all'interno di un determinato riquadro di delimitazione o raggio, è possibile migliorare la velocità di GeoModel, poiché GeoModel deve attualmente ottenere ogni record nel geohash appropriato. e quindi ordina per la memoria più vicina. (Dettagli di tale implementazione lasciati come esercizio per il lettore.)
Si potrebbe anche prendere in considerazione la regolazione di quanti livelli di geohash si sta utilizzando. Se disponi di molti dati densi e stai eseguendo query su piccole aree, potresti aumentare considerevolmente le prestazioni mantenendo 16 livelli anziché 8 o 12.
(Non sto guardando all'origine GeoModel ma richiamando quando l'ho usata per l'ultima volta diversi mesi fa, quindi prendi questo con un pizzico di sale e immergiti direttamente nel codice sorgente.)