[pyar] benchmark de numpy vs. octave

Manuel Argüelles manu.argue en gmail.com
Lun Nov 29 14:33:28 ART 2010


El día 26 de noviembre de 2010 22:56, Martín Gaitán <gaitan en gmail.com> escribió:
> Estoy dando un cursito para algunos profes y compañeros en mi facu (lo
> conté hace un tiempo) [1] y viene interesante. La idea del proximo
> encuentro es profundizar en numpỳ y su pandilla. Como siempre, la
> comparación es "ingenieril" es con Matlab, pero como no lo tengo ni lo
> uso, intenté una simple comparación con octave.
>
> Hago una matriz de 1000x1000 y calculo la inversa usando numpy::
>
>    In [1]: import numpy as np
>    In [2]: a = np.matrix ( np.random.rand(1e6) )
>    In [3]: a.shape = (1000, 1000)
>    In [4]: %timeit a.I
>    1 loops, best of 3: 4.15 s per loop
>
> lo mismo en octave::
>
>   a = rand(1000);
>   t = cputime ; inv(a); printf('Total cpu time: %f seconds\n', cputime-t);
>   Total cpu time: 1.596100 seconds
>
>
> Eso dice que octave es 260 % más rápido.  ¿estoy midiendo mal?
>
>
>
> [1] https://github.com/nqnwebs/python-ingenieria
> _______________________________________________
> 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/

Hola Martin. Me parece q no estas midiendo mal.. Hice lo mismo en mi
maquina y obtuve:

Python 2.6.6 (r266:84292, Oct  9 2010, 11:40:09)
In [1]: import numpy as np
In [2]: a = np.matrix ( np.random.rand(1e6) )
In [3]: a.shape = (1000, 1000)
In [4]: %timeit a.I
1 loops, best of 3: 983 ms per loop

(GNU Octave, version 3.2.4)
octave:1> a = rand(1000);
octave:2> t = cputime ; inv(a); printf('Total cpu time: %f seconds\n',
cputime-t);
Total cpu time: 1.132071 seconds

ahora es mas rapido con numpy! :) la verdad nose a q se debe..
Hace poco vi un paper que comparaba Matlab con Python/Numpy, si lo
encuentro te paso el link, por ahi te interesa..
Saludos

-- 
Manuel



More information about the pyar mailing list