From: Travis O. <oli...@ie...> - 2006-07-06 11:30:57
|
Steffen Loeck wrote: > Hi all, > > i made some speed tests using the sin-function and the %-operation to compare > Numeric, numpy 0.9.8 and numpy 0.9.9.2732. > As result the latest numpy version seems to be very slow in comparison to the > two other candidates. > > Results (in usec per loop): > sin-array mod-array > > Numeric 134 18 > > numpy 0.9.8 97 55 > > numpy 0.9.9.2732 204 316 > > numpy 0.9.8 + math 38 > > numpy 0.9.9.2732 + math 161 > > Numeric + math 23 > > > The used scripts can be found at the end. > > Can anyone verify my results and explain the observed speed degression? > I can't verify the results, but it's possible that the indexing code for a single integer is a bit slower. However, you forgot to test the "use Python lists" approach which is the fastest of all on this code. python -m timeit -s "x = [0.1]*10;" "for i in xrange(9): x[i+1]=(x[i]+1.1)%(1.0)" Using Numeric/NumPy is always slower than lists if you are doing element-by-element processing. NumPy is slower than Numeric for such processing. But, Numeric was always slower than pure Python too for such processing. So, the moral of the story is: "don't compute like that with NumPy (or Numeric)" With that said. I can add back the 1-d integer check in the indexing code to see if that speeds things up... -Travis |