Python will get true threading support with the removal of the GIL (Global Interpreter Lock) in 3.13 (now available in the beta as an experimental option).

The GIL has long crippled Python’s threading capabilities, but will be getting true parallelism with the implementation of PEP 703.

What are you gonna do with real threads? 🤔

2 points

The same exact thing I do with multiprocess Python, I’m not going to update all of my code.

Multiprocess approach is arguably more robust, you can’t corrupt memory from another thread, because the only point of interaction you have with your other rpocesses is queue and semaphore.

permalink
report
reply
3 points

But with multiprocessing you’re paying extra cycles to serialize and deserialize with those data structures (plus the added cost of storing copies in multiple places), and processes are much heavier to spin up…

permalink
report
parent
reply
1 point

Yeah, there is overhead. It’s not so critical for Python, because I am using it for scripting and prototyping, and when I need performance, I rewrite critical code parts in C++.

permalink
report
parent
reply
1 point

Just downloaded the free-threading RC version via pyenv. Looking forward to taking it for a spin.

permalink
report
reply

Python

!python@lemmy.world

Create post

A community for discussing the Python programming language.

https://www.python.org/

Community stats

  • 1

    Monthly active users

  • 2

    Posts

  • 4

    Comments

Community moderators