Driving Toward A Faster Python Interpreter With Pyston - Episode 298

Summary

One of the common complaints about Python is that it is slow. There are languages and runtimes that can execute code faster, but they are not as easy to be productive with, so many people are willing to make that tradeoff. There are some use cases, however, that truly need the benefit of faster execution. To address this problem Kevin Modzelewski helped to create the Pyston intepreter that is focused on speeding up unmodified Python code. In this episode he shares the history of the project, discusses his current efforts to optimize a fork of the CPython interpreter, and his goals for building a business to support the ongoing work to make Python faster for everyone. This is an interesting look at the opportunities that exist in the Python ecosystem and the work being done to address some of them.

Do you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? With Linode’s managed Kubernetes platform it’s now even easier to get started with the latest in cloud technologies. With the combined power of the leading container orchestrator and the speed and reliability of Linode’s object storage, node balancers, block storage, and dedicated CPU or GPU instances, you’ve got everything you need to scale up. Go to pythonpodcast.com/linode today and get a $100 credit to launch a new cluster, run a server, upload some data, or… And don’t forget to thank them for being a long time supporter of Podcast.__init__!



Announcements

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!
  • Your host as usual is Tobias Macey and today I’m interviewing Kevin Modzelewski about his work on Pyston, an interpreter for Python focused on compatibility and speed.

Interview

  • Introductions
  • How did you get introduced to Python?
  • Can you start by describing what Pyston is and how it got started?
  • Can you share some of the history of the project and the recent changes?
    • What is your motivation for focusing on Pyston and Python optimization?
  • What are the use cases that you are primarily focused on with Pyston?
  • Why do you think Python needs another performance project?
  • Can you describe the technical implementation of Pyston?
    • How has the project evolved since you first began working on it?
  • What are the biggest challenges that you face in maintaining compatibility with CPython?
  • How does the approach to Pyston compare to projects like PyPy and Pyjion?
  • How are you approaching sustainability and governance of the project?
  • What are some of the most interesting, innovative, or unexpected uses for Pyston that you have seen?
  • What have you found to be the most interesting, unexpected, or challenging lessons that you have learned while working on Pyston?
  • When is Pyston the wrong choice?
  • What do you have planned for the future of the project?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Liked it? Take a second to support Podcast.__init__ on Patreon!