[pyar] Me recomiendan un diccionario?
Mariano Mara
mariano.mara en gmail.com
Jue Feb 27 18:14:18 ART 2014
On 27/02/14 17:52, Claudio Freire wrote:
> 2014-02-27 17:49 GMT-03:00 Gustavo Campanelli <gedece en gmail.com>:
>> 2014-02-27 17:46 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:
>>>
>>> Hola,
>>> ando necesitando algo que, por un ratito me guarde varias asignaciones
>>> clave valor y despues poder consultarlo por clave, para obtener el valor
>>> asociado.
>>>
>>> O sea, necesito un dict().
>>>
>>> Mi problema es que:
>>> - tengo que guardar >40 millones de asociaciones, donde cadena+valor son
>>> en promedio 50 bytes de utf8
>>> - tengo que hacer ~20 millones de consultas
>>>
>>> Con lo cual un dict() me anda en una maquina con de 64-bits con buena RAM,
>>> y prefiría que los requerimientos sean un poco mas modestos
>>>
>>> Mi patron de uso es bien simplon. Primero genero todos los datos y los
>>> cargo, despues hago todas las consultas, despues tiro el "diccionario" a la
>>> basura (no me interesa persistirlo ni nada).
>>>
>>> Se me ocurren infinitas (muchas) formas de hacerlo. Puedo usar un sqlite,
>>> un mongo, una berkeleydb, y muchas mas. La pregunta es:
>>>
>>> ¿que usarian ustedes que tenga una buena combinación de performance y
>>> simpleza? [dentro del use-case que mencioné]
>>>
>>> Gracias,
>>> D.
>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>>
>>
>> Yo usaría Sqlite en memoria.
>
>
> bdb, fue diseñado exactamente para eso, mejor no hay
>
En esa misma línea Kyoto Cabinet (en su forma más simple instalando
libkyotocabinet-dev y yakc) debería ser una forma eficiente y simple de
hacer el trabajo.
Estaría bueno hacer un benchmark entre varias soluciones y ver cual es
la mejor, me imagino que podría ser útil a varios como material de
referencia.
> Y está en la lib estándard
>
More information about the pyar
mailing list