[Python-Dev] [ANN] VPython 0.1
skip at pobox.com
skip at pobox.com
Thu Oct 23 17:19:45 CEST 2008
Jakob> David Gregg (and friends) recently published a paper comparing
Jakob> stack based and register based VMs for Java and found that
Jakob> register based VMs were substantially faster. The main reason for
Jakob> this appears to be the absence of the various LOAD_ instructions
Jakob> in a register VM.
Back in the day (2001?) with the help of Tim Peters and others here I wrote
most of what was necessary to convert from a stack-based to a register-based
virtual machine for CPython. I had trouble with a couple VM instructions.
If memory serves correctly, exec was a problem because it could push a
variable number of results on the stack. I never completed the project
because the instruction set kept growing and I couldn't keep up. Still, it
looked promising because it avoided lots of intermediate loads and stores.
Jakob> ``Cell'' is, unfortunately, hardcoded into Vmgen. I could either
Jakob> patch that or run ceval-vm.i through sed or something.
If the patch is to work and eventually be accepted it will have to be
changed, probably with a little downstream find/replace. You might want to
also file a bug report to the Vmgen folks. If Vmgen is generating these
names the authors should really know to try to avoid name clashes.
Skip
More information about the Python-Dev
mailing list