5 ms·
I had always assumed it was because they had exposed far too many internals over the years, making a JIT that was backwards compatible with the majority of exis
by grumpyprole 2y ago
I had always assumed it was because they had exposed far too many internals over the years, making a JIT that was backwards compatible with the majority of existing code, an extremely difficult undertaking.
- IshKebab 2y agoI assumed it was because they explicitly did not have performance as a goal, probably because performance is so bad they wanted to have a good answer and "performance is a non-goal" is the best they could do. Psychologically that is much easier to digest than "yes it's awful, sorry". I don't think backwards compatibility can really be the reason. Python does not care that much about backwards compatibility, as seen from the extensive list of features they remove in every release: https://docs.python.org/3/whatsnew/3.12.html#removed https://docs.python.org/3/whatsnew/3.12.html#removed
- Waterluvian 2y agoI’m confused now. What’s the point of PyPy if performance isn’t a goal?
- orf 2y agoIt’s a completely unrelated project
- Waterluvian 2y agoOh they’re referencing the fork and not base PyPy, which is still about performance?
- orf 2y agoThe CPython project didn’t have performance as a goal. PyPy is a different, non-PSF implementation of Python
- Waterluvian 2y agoOh okay. I completely misunderstood the comment. Yes, CPython isn’t designed specifically for performance. I love how legible the code is.
- crabbone 2y agoThe fact that PyPy has a JIT is kind of a side-effect. PyPy's goal is not to make a JIT compiler for Python. To be honest, the goals are broad and ambiguous, but it's something along the lines of "refining the core Python language, a subset of Python, and then see if it can be made to run Python in various other ways". I think, that the first goal of PyPy was to compile Python to C or something like that. JIT came later.
- cwillu 2y agoPyPy was a successor to Psyco, by the same author. JIT was always a core part of the project.
- crabbone 2y agoYou may want to read this: https://www.pypy.org/posts/2018/09/the-first-15-years-of-pypy-3412615975376972020.html#starting-the-project https://www.pypy.org/posts/2018/09/the-first-15-years-of-pyp... and further down. You'll see that JIT wasn't always a core part of the project. You just for some reason decided to use the fact that the project was renamed at some point to fight a stupid battle on the Internetes.
- cwillu 2y ago“One of the not so secret goals of Armin Rigo, one of the PyPy founders, was to use PyPy together with some advanced partial evaluation magic sauce to somehow automatically generate a JIT compiler from the interpreter. The goal was something like, "you write your interpreter in RPython, add a few annotations and then we give you a JIT for free for the language that that interpreter implements."”
- crabbone 2y agoAnd? Are you sure you understand the comment you are replying to? Your replies makes less and less sense. They just look like an attempt to pick a stupid fight. If this needs repeating: I didn't deny that the project has a JIT compiler. I denied it was it's main goal. What you quoted confirms what I claim, but you seem to be misunderstanding this quote too?