[pyar] Programación científica en python

Octavio Bruzzone ottavioaugusto en yahoo.com.ar
Sab Ago 21 12:41:50 ART 2010


On Vie 20 Ago 2010 16:52:58 Nico Chiaraviglio escribió:
> Hola lista, como andan??
> 
> Hace un tiempo ya que estoy usando python y estoy tratando de convencer a
> todo el mundo de que lo use también. En particular para una materia donde
> se aplica el método monte carlo a ciertos problemas decidí usar python en
> lugar del Fortran sugerido por el docente.
> 
> Me encontré con algunas cosas que estan bastante buenas (como funciones muy
> específicas ya implementadas dentro de Scipy) pero con otras que no
> entiendo y me estan haciendo cuestionar si sigo usando este lenguaje (al
> menos para esto).
> 
> Por un lado veo que los programas hechos en fortran corren hasta unas 10
> veces más rápido que los implementados en python. Por otro lado haciendo
> algo tan estúpido como:
> 
> for i in range(0,100000000):
>        pass
> 
> no solo demora mucho sino que ocupa mas de 1Gb en la memoria RAM.
> 
> Alguien puede explicarme por qué pasa esto???
> 
> Por otro lado, si hay alguien usando pyhon para calculo científico, tiene
> alguna idea de como optimizar las corridas???
> 
> Desde ya, muchas gracias !
> 
> Saludos
> 
> Nico

El motivo por el cual se llena la ram ya lo explicaron. Ahora para "optimizar" 
un bucle es necesario saber que vas a hacer con eso. En general en los métodos 
de Montecarlo el "bucle principal", que es el que hace el numero de 
iteraciones necesarias, ocupa una cantidad de tiempo mínimo en comparación con 
el resto de las rutinas.
Cuando ocurre lo contrario, en general es en un modelo muy simple, y a esos 
los puedes hacer totalmente en fortran o c, y dejar la E/S de datos a python.

Ahora el numero de iteraciones que tienes es bestialmente grande, ¿realmente 
necesitas tantas?. Muchas veces tienes resultados útiles con cien mil o un 
millon.

Hace un perfilado, y pasá las partes "lentas" a C o fortran, si es necesario 
convierte todo el bucle con sus rutinas asociadas a Fortran, pero eso no lo he 
necesitado nunca (y eso que hago decenas de simulaciones de montecarlo cada 
semana).


-- 
Octavio A. Bruzzone
Investigador Adjunto (CONICET).
Ecología Numérica y Dinámica de Poblaciones de Insectos,
Laboratorio de Ecologia de Insectos.
INTA EEA Bariloche.
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar




More information about the pyar mailing list