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

        139 ratings


        More shows like The Real Python Podcast

        View all
        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        288 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        625 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        579 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        289 Listeners

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

        Super Data Science: ML & AI Podcast with Jon Krohn

        302 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

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

        Syntax - Tasty Web Development Treats

        988 Listeners

        Darknet Diaries by Jack Rhysider

        Darknet Diaries

        8,088 Listeners

        Tech Brew Ride Home by Morning Brew

        Tech Brew Ride Home

        969 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        200 Listeners

        AWS Podcast by Amazon Web Services

        AWS Podcast

        207 Listeners

        Django Chat by William Vincent and Carlton Gibson

        Django Chat

        75 Listeners

        Last Week in AI by Skynet Today

        Last Week in AI

        310 Listeners

        Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

        Machine Learning Street Talk (MLST)

        100 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        70 Listeners