Speed-up for loops

BartC bartc at freeuk.com
Fri Sep 3 16:17:44 EDT 2010


"Michael Kreim" <michael at perfect-kreim.de> wrote in message 
news:mailman.362.1283422325.29448.python-list at python.org...

> I was comparing the speed of a simple loop program between Matlab and 
> Python.
>
> My Codes:
> $ cat addition.py
> imax = 1000000000
> a = 0
> for i in xrange(imax):
>     a = a + 10
> print a

> Unfortunately my Python Code was much slower and I do not understand why.
>
> Are there any ways to speed up the for/xrange loop?
> Or do I have to live with the fact that Matlab beats Python in this 
> example?

I'm not sure the Python developers were interested in getting fast loops.

For-loops which iterate between two numbers are amongst the easiest things 
to make fast in a language. Yet originally you had to use:

 for i in range(N):

which (if I understood correctly) actually created a list of N objects, 
populated it with the values 0, 1, 2...N-1 (presumably using a more sensible 
loop), then iterated between the values of the list!

So Python had the distinction of being one of the slowest languages in which 
to do nothing (ie. running an empty loop).

-- 
Bartc 




More information about the Python-list mailing list