> These numbers aren't ridiculously large.  I just tried
> 
> for i in range(2**31): pass
> 
> on my (32-bit) laptop: it took 736.8 seconds, or about 12 and a bit minutes.
> (An aside: in contrast,
> 
> for i in range(2**31-1): pass
> 
> took only 131.1 seconds;  looks like there's some potential for optimization
> here....)

No, it means the optimization has already been implemented:

py> iter(range(2**31-1))
<range_iterator object at 0xb7a9b9f8>
py> iter(range(2**31))
<longrange_iterator object at 0xb7a9b968>

IOW, you can iterate over very long ranges, but doing so will be much
slower (per element) than iterating over a short range.

Regards,
Martin
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to