OJETIVO

Ver cómo podemos utilizar Coherence para realizar búsquedas.

PROTOTIPO

El código  fuente y el fichero con calles está al final del blog.

Ejecutamos el prototipo y vemos:

La carga ha tardado 127799 ms ( 15 ms/municipio )

512 bytes de memoria por calle
Tenemos 9997123 calles!
Buscando en el municipio 926 de un total de 8000
#Que quieres buscar?
(pon ‘salir’ para ir al siguiente municipio)>
Buscar %% ha tardado….. 3 ms
El tiempo de respuesta es proporcional al númro de entradas en la caché
Encontradas 6296 coincidencias(mostramos algunas):
[4053]=Street{Name=bulevar de indalecio prieto}

#Que quieres buscar?
(pon ‘salir’ para ir al siguiente municipio)>
Buscar %casa% ha tardado….. 195 ms
El tiempo de respuesta es proporcional al númro de entradas en la caché
Encontradas 42 coincidencias(mostramos algunas):
[2528]=Street{Name=calle del doctor casal}
[1757]=Street{Name=camino de la casa vieja}

OBSERVACIONES

-El tiempo de respuesta es directamente proporcional al número de entradas

-El tamaño de heap consumido por cada entrada es de 512 bytes, parece que se alinean los objetos a la memoria.

-Con una estrategia de crear diferentes colecciones (particiones) podremos buscar en grandes colecciones siempre y cuando el ámbito de búsqueda sea acotado (población, código postal,…) y la caché se organice en mini conjuntos (por poblaciones, códigos postales, etc.)

-Tiempo medio de carga por pobación de 15 milisegundos para 8000 poblaciones con un número de calles entre 1 y 9100 (total de calles cargadas 10 millones)

APLICACIONES

Desarrollo de algoritmos de búsqueda tipo “auto completar” en la capa de presentación  en las que la experiencia de usuario ha de ser excelente siempre que el conjunto de elementos pueda particionarse en colecciones discretas (de unos 10.000 elementos como máximo)

CODIGO

https://www.dropbox.com/s/lyulkxwb96dppyv/CallejeroCompletionText.z?dl=0

Descomprímelo con:

tar -xzf CallejeroCompletionText.z

CALLES DE MADRID

Casi todas…

https://www.dropbox.com/s/6g9zblpfpixsvxz/CALLESMAD.z?dl=0

Descomprímelo con:

tar -xzf CALLESMAD.z

Comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.