Did you try larger arrays/tuples? I would guess that makes a significant difference.
On Fri, Jan 7, 2011 at 7:58 AM, EMMEL Thomas <thomas.em...@3ds.com> wrote: > Hi, > > There are some discussions on the speed of numpy compared to Numeric in > this list, however I have a topic > I don't understand in detail, maybe someone can enlighten me... > I use python 2.6 on a SuSE installation and test this: > > #Python 2.6 (r26:66714, Mar 30 2010, 00:29:28) > #[GCC 4.3.2 [gcc-4_3-branch revision 141291]] on linux2 > #Type "help", "copyright", "credits" or "license" for more information. > > import timeit > > #creation of arrays and tuples (timeit number=1000000 by default) > > timeit.Timer('a((1.,2.,3.))','from numpy import array as a').timeit() > #8.2061841487884521 > timeit.Timer('a((1.,2.,3.))','from Numeric import array as a').timeit() > #9.6958281993865967 > timeit.Timer('a((1.,2.,3.))','a=tuple').timeit() > #0.13814711570739746 > > #Result: tuples - of course - are much faster than arrays and numpy is a > bit faster in creating arrays than Numeric > > #working with arrays > > timeit.Timer('d=x1-x2;sum(d*d)','from Numeric import array as a; > x1=a((1.,2.,3.));x2=a((2.,4.,6.))').timeit() > #3.263314962387085 > timeit.Timer('d=x1-x2;sum(d*d)','from numpy import array as a; > x1=a((1.,2.,3.));x2=a((2.,4.,6.))').timeit() > #9.7236979007720947 > > #Result: Numeric is three times faster than numpy! Why? > > #working with components: > > timeit.Timer('d0=x1[0]-x2[0];d1=x1[1]-x2[1];d2=x1[2]-x2[2];d0*d0+d1*d1+d2*d2','a=tuple; > x1=a((1.,2.,3.));x2=a((2.,4.,6.))').timeit() > #0.64785194396972656 > timeit.Timer('d0=x1[0]-x2[0];d1=x1[1]-x2[1];d2=x1[2]-x2[2];d0*d0+d1*d1+d2*d2','from > numpy import array as a; x1=a((1.,2.,3.));x2=a((2.,4.,6.))').timeit() > #3.4181499481201172 > timeit.Timer('d0=x1[0]-x2[0];d1=x1[1]-x2[1];d2=x1[2]-x2[2];d0*d0+d1*d1+d2*d2','from > Numeric import array as a; x1=a((1.,2.,3.));x2=a((2.,4.,6.))').timeit() > #0.97426199913024902 > > Result: tuples are again the fastest variant, Numeric is faster than numpy > and both are faster than the variant above using the high-level functions! > Why? > > For various reasons I need to use numpy in the future where I used Numeric > before. > Is there any better solution in numpy I missed? > > Kind regards and thanks in advance > > Thomas > > This email and any attachments are intended solely for the use of the > individual or entity to whom it is addressed and may be confidential and/or > privileged. > > If you are not one of the named recipients or have received this email in > error, > > (i) you should not read, disclose, or copy it, > > (ii) please notify sender of your receipt by reply email and delete this > email and all attachments, > > (iii) Dassault Systemes does not accept or assume any liability or > responsibility for any use of or reliance on this email. > > For other languages, Click Here<http://www.3ds.com/terms/email-disclaimer> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion