Why generators take long time?

Arshpreet Singh arsh840 at gmail.com
Tue Jan 19 03:06:14 EST 2016


On Tuesday, 19 January 2016 12:58:28 UTC+5:30, Arshpreet Singh  wrote:
> I was playing with Generators and found that using Generators time is bit more than list-comprehensions or I am doing it wrong?
> 
> 
> Function with List comprehensions:
> 
> def sum_text(number_range):
>     return sum([i*i for i in xrange(number_range)])
> 
> %timeit sum_text(100000000)
> 1 loops, best of 3: 14.8 s per loop
> 
> Using generator Expressions:
> 
> def sum_text(number_range):
> 
>     return sum((i*i for i in xrange(number_range))) 
> 
> %timeit sum_text(100000000)
> 
> 1 loops, best of 3: 16.4 s per loop

Or even when I use generator function:

def sum_text(number_range):
    yield sum((i*i for i in xrange(number_range)))

another function to get value:

def get_sum():
    for i in sum_text(100000000):
        return i

%timeit get_sum()
1 loops, best of 3: 16.1 s per loop




More information about the Python-list mailing list