[Python-Dev] [ANN] VPython 0.1
J. Sievers
cadr4u at gmail.com
Fri Oct 24 10:47:49 CEST 2008
glyph at divmod.com writes:
> On 23 Oct, 10:42 pm, greg.ewing at canterbury.ac.nz wrote:
>>Guido van Rossum wrote:
>>>there already is something else called VPython
>>
>>Perhaps it could be called Fython (Python with a Forth-like VM)
>>or Thython (threaded-code Python).
>
> I feel like I've missed something important, but, why not just call it
> "Python"? ;-)
>
> It's a substantial patch, but from what I understand it's a huge
> performance improvement and completely compatible, both at the C API
> and Python source levels.
>
> Is there any reason this should be a separate project rather than just
> be rolled in to the core? Obviously once issues like the 'Cell' macro
> are dealt with.
While it seems to work reliably, I don't think the current
implementation is really ``core-ready'' as it stands.
I consider it more of a prototype to demonstrate the potential impact
on these kinds of low-level dispatch optimizations (and for me
personally an opportunity to familiarize myself with the CPython VM).
IMO the main issues are:
- Right now, CPython's bytecode is translated to direct threaded code
lazily (when a code object is first evaluated). This would have to
be merged into compile.c in some way plus some assorted minor changes.
- The various things mentioned in TODO.
- Finally, the core developers probably won't want to depend on Gforth
(required to run Vmgen), so one might have to re-implement Vmgen (not
a huge deal; I know that there are a number of unpublished versions of
Vmgen floating around and IIRC one of them is even written in Python;
even if not Vmgen isn't really that difficult to implement).
Once that's done, however, I'd consider readability to have
_increased_ if anything (compare the switch statement in vanilla
Python 2.5.2's ceval.c to the patchset's ceval.vmg).
Note that none of the above are really show stoppers from a user's
point of view. It's about conforming to CPython's standards of
neatness.
Cheers,
-jakob
More information about the Python-Dev
mailing list