Python 3.14 - Threading Unbound
Wed 08 October 2025
Python 3.14 is released and Iām extremely exited that free-threading is now officially supported! Finally no more GIL, finally able to use all the hundreds of cores on modern servers! Or at least in theory, we'll see how it holds up in practice.
I'm also quite excited for template string literals (t-strings). Better HTML templates? Direct SQL interpolation? I'm looking forward to what the community comes up with.
Many packages already provide free-threaded wheels, including core ML libraries such as numpy, jax and torch. This means it's now easy to parallelize your data pipeline, without any multiprocessing!
To celebrate, I asked Claude to write a simple multi-threaded mandelbrot renderer cum benchmark to test the scaling:
$ ./benchmark_mandelbrot.py --size 768 --max-iter 4096 \ --region satellite --benchmark Threads Time (s) Speedup Efficiency -------------------------------------------------- 1 12.7925 1.00 100.00% 2 6.5261 1.96 98.01% 4 3.8395 3.33 83.30% 8 2.5221 5.07 63.40% 16 2.2243 5.75 35.94%
Pretty decent scaling even on my laptop, without any effort at optimizing, just standard concurrent.futures.ThreadPoolExecutor.

Tags: programming, python, concurrency
Loading comments...