Marco Mariani wrote:
Gediminas Kregzde wrote:


def doit(i):
   pass

def main():
   a = [0] * 10000000
   t = time()
   map(doit, a)
   print "map time: " + str(time() - t)

Here you are calling a function ten million times, build a list with of ten million None results, then throw it away.


def main2():
   t = time()
   a = [0] * 10000000
   for i in a:
       pass
   print "loop time: " + str(time() - t)

Here you do nothing but iterating 'i' over the 'a' list.


main()  # takes approximately 5x times longer than main2()
main2()

I'm wondering were is catch?

Function calls are not free in python. They cost a lot more than they do in C, Delphi or other languages.


Gediminas - You did a good job of testing the overhead. All good programmers do that!

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to