[pyar] Me recomiendan un diccionario?

Angel Java Lopez ajlopez2000 en gmail.com
Jue Feb 27 18:30:01 ART 2014


Otra es ver si las claves/valor se pueden comprimir. Por ejemplo, en un
caso tenia algo como

Argentina:Leche:100
Argentina:Carne:120
...
Chile:Leche:100
Chile:Carne:130

y asi

Una especie de OLAP en memoria. Pero lo almacenaba en memoria como:

1:1:100
1:2:100
...
2:1:100
2:2:100

Primera dimension 1->Argentina, 2->Chile
Segunda dimension 1->Leche, 2->Carne
La tercera parte era el valor

No se si tus claves/valores tendran una estructura que pueda optimizarse
(digo, su uso de memoria)




2014-02-27 18:14 GMT-03:00 Mariano Mara <mariano.mara en gmail.com>:

>
>
> 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
>>
>>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140227/bdf24475/attachment.html>


More information about the pyar mailing list