One Python 2.1 idea

Rainer Deyke root at
Mon Dec 25 17:48:25 CET 2000

<rturpin at> wrote in message news:927q24$ond$1 at
> In article <mailman.977737448.26875.python-list at>,
> Yes, this is a good performance optimization. BUT it
> requires NO CHANGE in how loops are written. The WRONG
> way to do this is to provide another construct in the
> language, making it more complex, but giving it no
> more expressive power. The RIGHT way to do this is
> for the compiler to recognize the common construct:
>     for i in range(<exp1>: <exp2>):
> The compiler then generates efficient byte code that
> does precisely what you describe. It can generate a
> minimal "ghost" of a list for the iteration, because
> there is no way that future code can do anything else
> with that list.

_range = range
ranges = []

def my_range(*args):
  r = _range(*args)
  global ranges

__builtins__.range = my_range

Rainer Deyke (root at
Shareware computer games           - 
"In ihren Reihen zu stehen heisst unter Feinden zu kaempfen" - Abigor

More information about the Python-list mailing list