Improving SyntaxError in PyPy
morepypy.blogspot.com
morepypy.blogspot.com
Part of it is because I don't choose what interpreter we use at work. At home, I just use CPython and it works fine for everything.
But I recently started learning more about PyPy, and it's technically crazy and ahead of its time [1]. It started in 2003 and I think something else like it didn't appear for more than 10 years [2], and is still research while PyPy is used in production.
So yeah it is hugely impressive, from a technical standpoint. But I see that there's not enough "carrot" to pay the cost of adoption, for most users. It's faster for some workloads, but predicting the speedup is nontrivial. And it also uses more memory.
It's unfortunate that the Python/C API is so complex and the extension ecosystem is so fragmented with wrappers as a result (SWIG, ctypes, cffi, etc.). I think there is a network effect with CPython that is very hard to break.
Everyone builds for CPython because it already has a large amount of useful C code in its ecosystem -- not to mention stuff like NumPy, Pandas, etc. which are a mix of C and Cython, Cython being a totally separate effort to write "faster Python".
[1] https://llvm.org/pubs/2006-10-DLS-PyPy.html
[2] Graal and Truffle seems like the closest thing, i.e. a meta-tracing JIT where you get a "JIT for free": https://blog.plan99.net/graal-truffle-134d8f28fb69
http://tratt.net/laurie/research/pubs/html/bolz_tratt__the_i...
I also use it at home to solve Project Euler problems. For anything that takes more than half a second or so, it's usually a big win and can turn minutes into seconds.
As a counter to this, I purposefully try to use CPython in order to force me to find algorithmically optimal solutions. It's a useful way to learn.
[0] https://morepypy.blogspot.com/2009/08/pypy-gets-new-compiler...
Anyone know where unladen swallow ended up?
I feel like the improved python interpreter is a pipe dream, but this is coming from someone who has long moved on from python to go due to pythons scaling troubles ( in my unique environment)
Then please donate!
https://pypy.org/py3donate.html
Building something compatible with modern Python (especially as new features and syntax seem to be piling up every month) is hard work.
> Anyone know where unladen swallow ended up?
Google killed it. Turns out it wasn't worth the effort.
Dropbox came to the same conclusion when they abandoned Pyston.
For my use, it's been remarkably close to CPython. Where does it fall short for you?
I think it's a design goal to match CPython behavior, so I think it would be rare if they were to NOFIX a doesnt-match-CPython bug.
If you're writing anything other than I/O bound code in pure python, you're probably doing it wrong. Write an extension in C or rust for the inner loops and their critical data structures, and keep everything else in python.
I would gladly throw money at someone to figure out how to take the juicy compat bits from Pyston and bring them into Pypy.