Hello, On Wed, 2 Dec 2020 09:16:56 +1100 Chris Angelico <ros...@gmail.com> wrote:
> On Wed, Dec 2, 2020 at 9:10 AM Paul Sokolovsky <pmis...@gmail.com> > wrote: > > On Wed, 2 Dec 2020 03:02:26 +1100 > > Chris Angelico <ros...@gmail.com> wrote: > > > If there are special-purpose cut-down implementations that > > > provide a more restricted environment in return for some other > > > feature (say, "being able to run in a web browser", or "being > > > able to run on a microcontroller"), then that's fine, > > > > Kinda yes, except not as vulgar as examples above. More like "being > > able to develop a JIT which doesn't cost million dollars" (extra > > points if that still can run on a microcontroller!). > > That's completely the opposite of what I was talking about, then. If > the goal is to develop a JIT compiler, then it should surely be part > of the main implementations of the language - the ones that are > broadly compatible with each other. Cut-down Python implementations > are NOT fully compliant with the language spec, and that's okay, > because nobody expects them to be. > > If the restricted execution model is incompatible with most Python > scripts, why would anyone bother to use it? E.g. because someone who would want to experiment with JIT, would need to apply similar restrictions anyway. > Does it actually offer > performance advantages better than PyPy, which JIT-compiles and is > able to run normal Python scripts? As I mentioned in another response, it's all contrarian approach, right from the start. It's not whether PyPy offers performance advantages, it's whether it runs in the target environments I consider interesting at all. The answer is NO. I then consider what it does to NOT run in the environments I find interesting. It runs unmodified scripts, and throws unlimited amounts of memory at that. So, I see how to modify scripts in such a way to NOT throw unneeded memory at trivial things, while only improving the code hygiene. I get that it's hard to get ;-). Besides that, it also implements runtime support for "const" variables, which is closer to matters of CPython level. (E.g., if there's support for constants, CPython's pattern matching doesn't need to go for ugly workarounds of forcing to use "case Somewhere.SOMETHING", it can be just "case SOMETHING:"). > > ChrisA -- Best regards, Paul mailto:pmis...@gmail.com _______________________________________________ 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/XEUGKYDY22DTIVLN6KT7D4YGSZQSEBUM/ Code of Conduct: http://python.org/psf/codeofconduct/