One Python 2.1 idea

rturpin at my-deja.com rturpin at my-deja.com
Mon Dec 25 12:43:46 EST 2000


In article <tTK16.73794$x6.34384327 at news2.rdc2.tx.home.com>,
  "Rainer Deyke" <root at rainerdeyke.com> wrote:
> _range = range
> ranges = []
>
> def my_range(*args):
>   r = _range(*args)
>   global ranges
>   ranges.append(r)
>
> __builtins__.range = my_range

Optimizing generated byte code for a language like Python
has to be done somewhat differently than for a language
like C++, which is designed so that types and names
resolve at compile time. There are a variety of strategies
for handling the code above. A simple one would flag for
recompilation any file where certain kinds of optimization
had been applied, when a built-in function were replaced.
Likely, there are better strategies.

Python presents other challenges besides the fact that
built-in functions can be changed on the fly. Fortunately,
almost all of these have been fodder, two or three times,
in the history of language processing. The dynamic and
flexible nature of Python is no excuse for slow execution.

Russell


Sent via Deja.com
http://www.deja.com/



More information about the Python-list mailing list