I think you might need to change your testing parameter:
In [39]: %timeit pythonsum(10) 100000 loops, best of 3: 8.41 us per loop In [40]: %timeit pythonsum(100) 10000 loops, best of 3: 51.9 us per loop In [41]: %timeit pythonsum(1000) 1000 loops, best of 3: 451 us per loop In [42]: %timeit pythonsum(10000) 100 loops, best of 3: 17.9 ms per loop In [43]: %timeit numpysum(10) 100000 loops, best of 3: 13.4 us per loop In [44]: %timeit numpysum(100) 100000 loops, best of 3: 17 us per loop In [45]: %timeit numpysum(1000) 10000 loops, best of 3: 50.3 us per loop In [46]: %timeit numpysum(10000) 1000 loops, best of 3: 385 us per loop
Numpy vs List mapping timeout ratio:
10: 0.6x
100: 3.1x
1000: 9x
10000: 46x
Thus, Numpy is much faster with large N
source share