Just wondering
norseman
norseman at hughes.net
Fri May 15 17:17:36 EDT 2009
Gediminas Kregzde wrote:
> Hello,
>
> I'm Vilnius college II degree student and last semester our teacher
> introduced us to python
> I've used to program with Delphi, so I very fast adopted to python
>
> Now I'm developing cross platform program and use huge amounts of
> data. Program is needed to run as fast as it coud. I've read all tips
> about geting performance, but got 1 bug: map function is slower than
> for loop for about 5 times, when using huge amounts of data.
> It is needed to perform some operations, not to return data.
>
> I'm adding sample code:
> from time import time
>
> def doit(i):
> pass
>
> def main():
> a = [0] * 10000000
> t = time()
> map(doit, a)
> print "map time: " + str(time() - t)
>
> def main2():
> t = time()
> a = [0] * 10000000
> for i in a:
> pass
> print "loop time: " + str(time() - t)
>
> main() # takes approximately 5x times longer than main2()
> main2()
>
> I'm wondering were is catch?
>
> I'm using python 2.6 on windows xp sp2 machine
>
> P.S. Sorry for my broken English
===============================
cut n paste done
Using Laptop at 2.4 GHz
map time: 4.9281001091 map/loop = 5.7554...
loop time: 0.856245994568
Using Desktop at 3.1 GHz
map time: 3.46799993515 map/loop = 7.6556...
loop time: 0.453000068665
Yep - map is way slower
Your English is good enough for me to understand. What more is needed?
:)
Someone writing Python can probably say why.
Steve
More information about the Python-list
mailing list