*mouth agape* Wow. That really sucks. I make extensive use of reduce. It seems to run more than twice as fast as a for loop.
>>> t = Timer('bino.reduceadd(bino.bits)', 'import bino') >>> s = Timer('bino.loopadd(bino.bits)', 'import bino') >>> t.timeit(10) 1.2373670396656564 >>> s.timeit(10) 2.6450051612705039 >>> t.timeit(100) 11.312374896809501 >>> s.timeit(100) 25.817132345032689 where bits = map(lambda x:randint(0,1), xrange(1000000)) def reduceadd(v): return reduce(add, v) def loopadd(v): sum = 0 for x in v: sum = add(sum, x) return sum (Yes, I know there are better ways to sum up a list, but I just wanted to test the performance of the loop against reduce. In most of my reduce usages, the function passed to reduce is much more complex.) -j [EMAIL PROTECTED] wrote: > Jason Nordwick: >> Stargaming wrote: >>> Also note that reduce will be removed in Python 3000. >> What will replace it? > > Nothing, I presume. You will have to write a function to find another > way to solve problems. > > Bye, > bearophile > -- http://mail.python.org/mailman/listinfo/python-list