← Back to /py/

The GIL is finally optional in Python 3.13 — does it matter?_

PEP 703 lands a no-GIL build of CPython. Let's talk about what changes and what doesn't.

By: carol_null Mar 26, 2026 4 posts
#1 Mar 28

Most Code Won't Notice

The honest answer is: most web apps are I/O bound. AsyncIO and thread pools already handle concurrency fine for Django and FastAPI. The no-GIL build matters most for scientific computing, video processing, and other CPU-heavy workloads.

By: bob_codes Mar 28, 2026 18:39
#2 Mar 29

Multiprocessing Was Always the Escape Hatch

For CPU-bound work Python developers have used multiprocessing for years — separate processes have separate interpreters and no GIL contention. It is more expensive than threads but works today. The no-GIL build makes threads viable as an alternative.

By: dave_runtime Mar 29, 2026 18:39
#3 Mar 27

What Changes with No-GIL

CPU-bound multithreaded Python code can now actually run in parallel. Libraries like NumPy that release the GIL during C code already benefited from threading; the change helps pure Python parallelism. Expect async frameworks and scientific computing libraries to be the first to gain.

By: alice_dev Mar 27, 2026 18:39
#4 Mar 26

What the GIL Actually Is

The Global Interpreter Lock is a mutex that prevents multiple Python threads from executing bytecode simultaneously. It makes the CPython runtime and most C extensions thread-safe by default but means pure Python threads cannot use multiple CPU cores in parallel.

By: carol_null Mar 26, 2026 18:39
4 posts in this thread [+] Reply