4 ms·
Are there production users of PyPy? I feel like PyPy has always been the most academically interesting Python implementation. But has it taken away mindshare
by socratic 15y ago
Are there production users of PyPy?
I feel like PyPy has always been the most academically interesting Python implementation. But has it taken away mindshare from CPython?
- vgnet 15y agoYes, there are. Recently Quora announced it was running on PyPy[1]. Some other disclosures were made (a Django project[2], LWN internal processing[3], tweets about speedups in production, etc.), but the PyPy team is thinking about officially asking for success stories in the near future[4]. [1]: http://www.quora.com/Alex-Gaynor/Quora-product/Quora-is-now-running-on-PyPy http://www.quora.com/Alex-Gaynor/Quora-product/Quora-is-now-... [2]: https://convore.com/python/whos-using-pypy-in-production/ https://convore.com/python/whos-using-pypy-in-production/ [3]: http://lwn.net/Articles/442268/ http://lwn.net/Articles/442268/ [4]: https://bitbucket.org/pypy/extradoc/src/tip/blog/draft/success_stories.rst https://bitbucket.org/pypy/extradoc/src/tip/blog/draft/succe...
- socratic 15y agoTo me, this list seems to suggest the opposite actually. [1] is the company where one of the main developers of PyPy works. [2] appears to be a discussion where they are looking for anyone using PyPy in production. [3] seems to be an article about someone experimenting with PyPy for git processing. [4] is the developers looking for non-toy examples of production use so that they can get more funding.
- vgnet 15y agoIt suggests that there aren't many production users, true. But it does prove that there are some.
- socratic 15y agoIndeed. Though two-ish production users after 7 years of development hardly seems like a success. By way of contrast, (1) in the Ruby world, YARV went from an alternative implementation to the official implementation within two years, and (2) in the JavaScript world, node.js is similarly being used in production in tons of places after only two years. (Though I realize that those examples aren't exact parallels.) This isn't meant to criticize your response, rather, I find it interesting that the Python world seems to have so many alternative implementations (PyPy, IronPython, Jython, Cython) despite what appears to be really minority mindshare compared to CPython.
- mixmastamyk 15y agoI don't know about others but this article finally convinced me to take a serious look at it. It appears to finally be up to date and much faster. As in everything a little bit better yet behind the curve isn't good enough to get people to switch.
- sqrt17 15y ago* Jython is a really nice alternative if you want to use Python-the-language in a Java environment. Its suboptimal speed and the fact that it's really easy to write Java code that can be used from Jython means that you'll probably use it more as a scripting language * The relation between IronPython and .NET is probably very similar * For CPython, people have always wrapped their favorite C library and started using it - with SWIG in the old times and nowadays with Cython, which is a compiler for a subset of Python extended with types. In fact, quite a lot of useful Python libraries use Cython (whether as a glue language or as an implementation language), and it's probably in production use at a lot of places. One of the problems of PyPy is that, while targeting Python-the-language, it also gives up CPython compatibility by using their own PyPy VM (in the sense of, GC'd execution environment with a JIT that's not really compatible with other C/C++ code or even CPython). Because they're targeting their own execution environment, they cannot profit from either the plethora of C/C++ libraries that exist or even the very decent library support that exists on the JVM. The PyPy people have recognized this and started to take care of the affair with a JNI-type version of CPython's ctypes library. The problem is that very few library wrappers (or even non-Python CPython extensions) are based on ctypes, so that it's not useful as a replacement for CPython for most of the people (especially those that need the speed improvements). The reluctance of PyPy developers to start thinking about a solution for all the existing CPython extensions has severely limited the appeal for using PyPy in production use - having 10x gains for new code is not all that appealing once you realize that you need to rewrite the other couple thousand lines of (C++ or Cython) code and hope that you can optimize the PyPy code as well as you optimized the C++ or Cython code. Having said that, I'm really excited by the idea of a Cython variant that can be used to wrap C/C++ code (or use Cython code) in PyPy's execution environment. (This is the GSoC project that was referred to earlier) Or even if I could use Cython to compile my C/C++ Python extensions for the JVM or .NET.