[SciPy-dev] Sorting speed
Francesc Altet
faltet at carabos.com
Sat Dec 31 06:52:05 EST 2005
A Dissabte 31 Desembre 2005 05:06, Travis Oliphant va escriure:
> I've checked in sorting improvements to scipy_core SVN.
Wow! my numbers:
In [60]: t1 = timeit.Timer('a=array(None,shape=10000);a.sort()','from numarray
import array')
In [61]: t1.repeat(3,1000)
Out[61]: [0.63181209564208984, 0.60971593856811523, 0.61994194984436035]
In [62]: t2 = timeit.Timer('a=empty(shape=10000);a.sort()','from scipy.base
import empty')
In [63]: t2.repeat(3,1000)
Out[63]: [0.55068111419677734, 0.52086997032165527, 0.52183318138122559]
So, I can reproduce this also: scipy_core is more than 10% faster now :-)
But, interestingly enough:
In [65]: t3 = timeit.Timer('a=array(None,shape=10000);a.argsort()','from
numarray import array')
In [66]: t3.repeat(3,1000)
Out[66]: [1.2611861228942871, 1.2791898250579834, 1.2521131038665771]
In [67]: t4 = timeit.Timer('a=empty(shape=10000);a.argsort()','from scipy.base
import empty')
In [68]: t4.repeat(3,1000)
Out[68]: [0.77948904037475586, 0.76528811454772949, 0.81097602844238281]
so, argsort() is more than 60% faster in scipy_core than numarray.
Awesome! And argsort() is what PyTables actually use for create
indexes. Thank you very much not only for your responsiveness, but
also for the gorgeous quality of your work. I think I'll have to
adhere to the long list willing to buy your book, Travis ;-)
--
>0,0< Francesc Altet http://www.carabos.com/
V V Cárabos Coop. V. Enjoy Data
"-"
More information about the SciPy-Dev
mailing list