> 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