Dropbox pulls the plug on faster Python project

Dropbox will cease development on Pyston, but the source code will be available for those who want to continue hacking on JIT-powered Python

Dropbox pulls the plug on faster Python project
Samuel M. Livingston (CC BY 2.0)

Pyston, Dropbox's project to create a faster Python runtime similar to just-in-time compiling systems like PyPy, will no longer be sponsored by Dropbox after its latest release.

Version 0.6.1 brings Pyston's performance up to almost twice that of CPython, the standard-issue Python interpreter. "On web-workload benchmarks that we created, we are 48% faster," wrote Dropbox's Kevin Modzelewski on the Pyston blog. "On Dropbox’s server, we are 10% faster."

Despite these improvements, Dropbox decided further work on Pyston wouldn't be worth it from a cost-benefit point of view.

Compatibility was one of the biggest stumbling blocks. The blog post noted that it took "more time than we expected" to make Pyston compatible with existing Python code.

For context, PyPy has achieved a high level of compatibility with existing Python code, but only after years of work, and C extensions for Python -- a major part of the Python ecosystem -- were a major obstacle. Pyston also lacked Python 3 compatibility; PyPy provides it, but only through a different edition of the program that supports up to Python 3.3.

Dropbox also said it's moving away from using Python for performance-sensitive code in the first place, opting for "other languages such as Go" instead.

Dropbox's need to justify Pyston as a business investment seems to have been a big part of why it elected to find other ways to speed up its services. PyPy, on the other hand, is a relatively independent project that doesn't have any one company's fortunes tied to it (or vice versa) and isn't on any specific timetable to deliver results.

The innovations Pyston brought to the table aren't going to evaporate once Dropbox withdraws from the project. For one, Pyston is open source, so another team could pick up where Dropbox left off. Also, many of the innovations Dropbox brought to Pyston could in theory be donated back to mainline Python development: "We are also looking into upstreaming parts of our code back to CPython, since our code is now based on theirs," Modzelewski wrote.

Dropbox doesn't believe the speedups obtained from its work with Pyston is limited to what it was able to achieve. "[T]he 10% speedup on Dropbox code is just a small fraction of what we think is possible with our approach," Modzelewski wrote, but "[we] have not had time to optimize this particular workload."

There's no question efforts will continue to make Python performant through projects like PyPy, Cython, and now maybe Pyston in the hands of another team. But Python's convenience and ecosystem, rather than its raw performance, will remain the biggest part of its value as a language for now.

Copyright © 2017 IDG Communications, Inc.