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