Georeferencias: almacenamiento

Sebastian Lezica slezica en fibertel.com.ar
Lun Mar 6 00:35:10 CET 2006


Francesc Altet wrote:
> No es necesario hacer dos iteraciones. Para hacer consultas complejas,
> lo mejor es algo como esto:
>
> seleccion = []
> for fila in tabla.where(min < tabla.cols.col1 < max):
>     if fila['col2'] < max2 or fila['col3'] > min2:
>         seleccion.append(fila['col4'])
>
> de esta manera tienes procesada esta consulta compleja (existen tres
> condiciones en el ejemplo de arriba) en una sola pasada. Acuérdate de
> poner la condición más restrictiva dentro del where, para optimizar la
> velocidad de la selección.
	Me expresé mal, lo hice así tal como comentas, siguiendo la documentación, pero pensaba que era mas eficaz la solución de un 'where' dentro de otro (que me aclaraste en el email anterior). Espero poder hacer mas pruebas ya sobre el hardware definitivo, donde supongo si deberé optimizar todo lo posible para que corra a una velocidad razonable...


>>     Estoy en 0.2 segundos, consumiendo el proceso python solo 14Mb... 
>> realmente asombroso!. Ahora me estoy poniendo a compilar las 
>>     
> Es asombroso el tiempo o la memoria? Esperabas más consumo de 14 MB?
> Hombre, PyTables no es que sea 'ligerito' precisamente, pero tampoco no
> es que sea ningún monstruo ;-)
>   
    Jajaja! es que tenia ese preconcepto, por los volúmenes que manejaba 
PyTables y demás, que seria pesado como el solo :). Por eso mi asombro 
ante la velocidad (que me parece excelente teniendo en cuenta que recién 
estoy haciendo los primeros pinitos con el) y el consumo de memoria!.
>>     Te agradezco muchisimo por todos los datos que me has dado!,
>>     
> Un placer. En parte es una ayuda interesada, ya que me gustaría mucho
> saber como funciona PyTables en dispositivos embebidos como el que estas
> probando.
    La única dependencia que me resta para poder usarlo es numarray. 
Tengo algunos problemas compilandola sobre mipsel+uClibc, y parece ser 
algo con las operaciones de punto flotante. Estoy en eso desde ayer, 
pero ya se superará (ahora estoy compilando para probar con la emulación 
de fpu de las uClibc), espero esta semana poder escribir con los 
primeros resultados reales :).

Te mando un abrazo,

Sebastián Lezica




Más información sobre la lista de distribución Python-es