[pyar] Programación científica en python

Martín Gaitán gaitan en gmail.com
Sab Ago 21 12:02:08 ART 2010


2010/8/20 Nico Chiaraviglio <nico.chiaraviglio en gmail.com>:
> 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???

Nico la pregunta es qué hacés dentro del loop?

Porque ciertamente lo mejor es tratar de resolverlo con objetos de
NumPy que encapsulan la iteracion (lo que llaman 'vectorizacion' y
'broadcast'). La idea es evitar el costo de loopear sobre vectores  a
nivel Python y  en cambio que eso se haga sólo mediantes las rutinas
compiladas en C de numpy,

Fijate la explicación que da en la intro:
http://docs.scipy.org/doc/numpy/user/whatisnumpy.html

saludos



More information about the pyar mailing list