[pyar] benchmark de numpy vs. octave
SAn
gringotumadre en gmail.com
Lun Nov 29 17:56:02 ART 2010
2010/11/29 Manuel Argüelles <manu.argue en gmail.com>:
> 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..
A mi me mide como a martín, octave más rapido.
Hay varias formas de resolver una inversa, probablemente se esten
usando métodos distintos, no?
SAn
More information about the pyar
mailing list