It was (is). It was a VM idea. Taken from a 2001 April Fool's Day joke about Python and Perl merging.
The goal of optimizing a register based VM independently of the grammars compiled to it seems smart. For a certain time our wonderful Alison Randall was even lead of it. The Python grammar must be several versions old, and not reflect the new parser. On the other hand, if it parses Perl, it must be a very flexible grammar spec. The fact the register based machine didn't wind up showing any big win was disappointing to me. I don't know any deep details, and am certainly not saying it might not every help. But benchmarks when I followed them were pretty much the same as Python, Perl, and Ruby VMs that were stack based. Yes, this or that micro-benchmark did better or worse, but nothing dramatic overall. On Sat, Mar 20, 2021, 12:57 PM Skip Montanaro <skip.montan...@gmail.com> wrote: > Yes, I remember Parrot. As I understand it their original goal was a > language-agnostic virtual machine, which might have complicated things. > > I will do a bit of reading and add some text to the "PEP." > > Skip > > On Sat, Mar 20, 2021, 11:36 AM David Mertz <me...@gnosis.cx> wrote: > >> The Parrot project was also intended to be the same thing, and for a >> while had a fair number of contributors. Unfortunately, it never obtained >> the performance wins that were good for. >> >> On Sat, Mar 20, 2021, 11:55 AM Skip Montanaro <skip.montan...@gmail.com> >> wrote: >> >>> Back in the late 90s (!) I worked on a reimagining of the Python >>> virtual machine as a register-based VM based on 1.5.2. I got part of >>> the way with that, but never completed it. In the early 2010s, Victor >>> Stinner got much further using 3.4 as a base. The idea (and dormant >>> code) has been laying around in my mind (and computers) these past >>> couple decades, so I took another swing at it starting in late 2019 >>> after retirement, mostly as a way to keep my head in the game. While I >>> got a fair bit of the way, it stalled. I've picked it up and put it >>> down a number of times in the past year, often needing to resolve >>> conflicts because of churn in the current Python virtual machine. >>> Though I kept getting things back in sync, I realize this is not a >>> one-person project, at least not this one person. There are several >>> huge chunks of Python I've ignored over the past 20 years, and not >>> just the internals. (I've never used async anything, for example.) If >>> it is ever to truly be a viable demonstration of the concept, I will >>> need help. I forked the CPython repo and have a branch (register2) of >>> said fork which is currently synced up with the 3.10 (currently >>> master) branch: >>> >>> https://github.com/smontanaro/cpython/tree/register2 >>> >>> I started on what could only very generously be called a PEP which you >>> can read here. It includes some of the history of this work as well as >>> details about what I've managed to do so far: >>> >>> https://github.com/smontanaro/cpython/blob/register2/pep-9999.rst >>> >>> If you think any of this is remotely interesting (whether or not you >>> think you'd like to help), please have a look at the "PEP". Because >>> this covers a fair bit of the CPython implementation, chances to >>> contribute in a number of areas exist, even if you have never delved >>> into Python's internals. Questions/comments/pull requests welcome. >>> >>> Skip Montanaro >>> _______________________________________________ >>> Python-ideas mailing list -- python-ideas@python.org >>> To unsubscribe send an email to python-ideas-le...@python.org >>> https://mail.python.org/mailman3/lists/python-ideas.python.org/ >>> Message archived at >>> https://mail.python.org/archives/list/python-ideas@python.org/message/IUKZPH4ZSZ22RZFKMITQ3Q6A22P4BXWX/ >>> Code of Conduct: http://python.org/psf/codeofconduct/ >>> >>
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/TO4LURTJYW7H52OBIEAPDPHEM7Q3SUVL/ Code of Conduct: http://python.org/psf/codeofconduct/