The Real Python Podcast

What Is a JIT and How Can Pyjion Speed Up Your Python?


Listen Later

How can you can speed up Python? Have you thought of using a JIT (Just-In-Time Compiler)? This week on the show, we have Real Python author and previous guest Anthony Shaw to talk about his project Pyjion, a drop-in JIT compiler for CPython 3.10.

Anthony has been working on Pyjion over the past year and recently released version 1.0. He talks about how he took over the project from Brett Cannon and Dino Viehland. He covers the background on compilers and assembly that he needed to take on this project.

We discuss where a tool like this can speed up your Python code, and we consider alternative solutions. We also talk about his desire to make the project as deeply compatible with Python code as possible.

Anthony talks about how his dive into writing the CPython Internals book led him into the project. We talk about what type of developer would benefit from exploring the book.

We also cover his recent Real Python article, titled “Advanced Visual Studio Code for Python Developers.” It’s an excellent resource that VS Code users should bookmark to revisit as they grow with the tool.

Spotlight: CPython Internals Book: Your Guided Tour Through the Python 3 Interpreter

Unlock the inner workings of the Python language, compile the Python interpreter from source code, and participate in the development of CPython.

Topics:

  • 00:00:00 – Introduction
  • 00:02:15 – Cloud Developer Advocate at Microsoft
  • 00:04:57 – Pyjion, a drop-in JIT compiler for CPython
  • 00:07:52 – PyCon 2020 & 2021 talks and wanting to take on the project
  • 00:12:46 – How Pyjion uses .NET 6
  • 00:17:32 – Trying out Pyjion functionality online
  • 00:21:43 – Sponsor: Honeybadger
  • 00:22:28 – Portability of projects using Pyjion
  • 00:29:55 – Focus on compatibility with Python code
  • 00:33:07 – Choosing to make it based on Python 3.10
  • 00:37:45 – What would be prerequisites to work on the project?
  • 00:40:40 – Other ways to help with project
  • 00:44:34 – CPython Internals: Who is the book for?
  • 00:49:46 – What resources do you need to work through the book?
  • 00:52:04 – Spotlight: CPython Internals Book
  • 00:53:21 – Do you use an IDE or code editor?
  • 00:56:12 – Why did you decide to write the book?
  • 00:57:12 – Advanced Visual Studio Code for Python Developers
  • 01:03:20 – What are you excited about in the world of Python?
  • 01:04:03 – What do you want to learn next?
  • 01:05:33 – Thanks and goodbye
  • Show Links:

    • Pyjion - A JIT for Python based upon CoreCLR
    • Pyjion main documentation
    • live.trypyjion.com
    • Anthony Shaw - Why is Python slow? - YouTube
    • Restarting Pyjion, a general purpose JIT for Python- is it worth it? - YouTube
    • Common Language Runtime (CLR) overview - .NET | Microsoft Docs
    • Writing Python Extensions in Assembly
    • Beginning x64 Assembly Programming | SpringerLink
    • Pyston | Python Performance
    • PyPy
    • facebookincubator/cinder: Instagram’s performance oriented fork of CPython.
    • Welcome to Hypothesis! — Hypothesis 6.36.0 documentation
    • CPython Internals Book – Real Python
    • Advanced Visual Studio Code for Python Developers – Real Python
    • vscode-pets: Adds playful pets 🦀🐱🐶 in your VS Code window
    • What’s New In Python 3.11 — Python 3.11.0a4 documentation
    • Compilers: Principles, Techniques, and Tools (Dragon Book)
    • Level up your Python skills with our expert-led courses:

      • Finding the Perfect Python Code Editor
      • Debugging in Python With pdb
      • Looping With Python enumerate()
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        136 ratings


        More shows like The Real Python Podcast

        View all
        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        269 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        298 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        982 Listeners

        DataFramed by DataCamp

        DataFramed

        266 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        189 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        64 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners