khaidarx at yahoo.com
Fri Sep 24 05:44:10 CEST 2004
Thanks for your correction. Now I've found that using join (list
methods) is better than others.
Michael Hoffman <m.h.3.9.1.without.dots.at.cam.ac.uk at example.com> wrote in message news:<ciubec$obq$1 at pegasus.csx.cam.ac.uk>...
> Abdullah Khaidar wrote:
> > Is there any iteration style we must use to get faster processing
> > time?
> Yes, definitely this one:
> >>>>def useJoin():
> > list = [str(element) for element in range(5)]
> > return "".join(list)
> You aren't going to get the right results from your getTimer() function
> because you are just timing putting the function object on the stack,
> rather than actually calling it.
> >>>>def getTimer():
> > from timeit import Timer
> > t1 = Timer("useListIteration", "from __main__ import
> > useListIteration")
> should be t1 = Timer("useListIteration()", "from __main__ import
> > print "Using list iteration: ", min(t1.repeat())
> Of course now that you are actually calling a function, it should take a
> lot longer, so repeating it 3 * 1,000,000 times is way too many. I would
> change the number of integers you are concatenating from 5 to 1000 and
> run Timer.timeit(number=100) (repeats 3 * 100 times) instead.
> >>> getTimer()
> Using list iteration: 0.751999855042
> Using normal iteration: 0.766999959946
> Using join: 0.446000099182
More information about the Python-list