Benjamin Peterson wrote:
2011/9/23 Steven D'Aprano <st...@pearwood.info>:
Hi guys,

Over on the python-ideas mailing list, there is a long thread about the
default argument hack in functions, used for micro-optimizations,
early-binding, and monkey-patching. Various alternatives are being argued
about. One proposal put forward involves bytecode manipulations to change
global lookups to local so that one could have a decorator that "injects" a
value into a copy of the function.


What's the PyPy position on bytecode hacking? Good, bad, evil, don't mind
either way?

First of all, it's going to be implementation defined. So, you can't
expect *any* bytecode you create on one VM to work on another.
Secondly, it's useless for speed when you have a JIT.

I don't expect that the same bytecode would work on multiple implementations. Obviously each implementation would either need its own bytecode manipulation, or simply refuse to support it.

Regardless of whether it is useless for speed or not, it is legal syntax. Default arguments are also used for early binding, which has nothing to do with speed.

So the question is: would it be a burden for PyPy to make any guarantees about the stability of bytecode?



--
Steven

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to