|
I don't want PyPy to be the future of Python. Python 3.5 (asyncio, os.scandir, functools part of stdlib, to name a few) was a big step in the right direction for those of us still locked in Python 2 so we can say to our bosses "hey, look all the good things we're missing". Python 3.6 with compact dicts working ~4x faster than old dicts[0, 1] is also huge for that -- plus, since dicts are used all over the place in Python this may have a global impact on all Python performance (don't quote me on that, but it's a possible side-effect). My biggest issue with PyPy is library/modules incompatibility. I work in forensics, and I honestly tried using most of the python based tools with PyPy, and many just don't work because of lib/module dependencies. The few that do, may or may not run faster, depending on your use case and even the case (some have slower initialization but process faster, so with a big enough target file you get things done quicker). And while I am sort of a developer, I also have to solve cases, so I don't have enough time to sit and port all the libraries of 20 different tools to work in PyPy. And if performance is still a need (it always is in forensics, with more cases with larger drives/memory coming all the time), there's Cython, and with it we've gotten speedups ranging from the few percent (about 14% from "removing the interpreter") to 20-30x faster -- which has the side-effect of revealing yet another bottleneck in the application, but hey, now you know. So, seeing the things that are coming to Python 3, I sincerely hope PyPy exists and goes on living, but I much rather CPython be the future of Python -- because it is good, compatible (mostly), it has the right tools, and things work. [0] https://mail.python.org/pipermail/python-dev/2016-September/... [1] https://twitter.com/raymondh/status/776322068723798016 |