[Python-Dev] Python Specializing Compiler
Samuele Pedroni <firstname.lastname@example.org>
Mon, 25 Jun 2001 17:04:45 +0200 (MET DST)
> In particular, I believe we won't need to change the way the current Python
> interpreted encodes data. For example, instances currently have a
> dictionary of attributes and no "fixed slots", but this is not a problem
> for Psyco, which can encode instances in better ways (e.g. as a C struct)
> as long as it is only accessed by Psyco-compiled Python code and no
> "legacy" code.
This makes sense, but I'm asking if it is affordable to have all code
executed (if we aim for usage-transparency) through Psyco-compiled code
(memory foot-print, compilation vs. execution trade-offs for rarely executed
Otherwise in a mixed execution context we would pay for conversions.
I can see how a dynamic compiler can deal with methods together
with the interpreter that notifies when a dynamic change to hierarchy,
method defs can potetianlly invalidate compiled code.
I see more problems with instance data slots, because there are no
strong hints in the code about which are the "official" slots of a class,
and undisciplined code can treat instances just as dicts.
regards, Samuele Pedroni.