# A fast, free threading Python

**URL:** <https://discuss.python.org/t/a-fast-free-threading-python/27903>\
**Category:** Ideas\
**Created:** [June 15, 2023, 3:28pm UTC](https://discuss.python.org/t/a-fast-free-threading-python/27903 "2023-06-15T15:28:04Z")\
**Posts on this page:** 1\
**Showing post:** 91

<div class="post-metadata">

**Author:** ![h-vetinari](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/h-vetinari/32/1220_2.png) [@h-vetinari](https://discuss.python.org/u/h-vetinari)\
**Post date:** [June 26, 2023, 11:08pm UTC](https://discuss.python.org/t/a-fast-free-threading-python/27903/91 "2023-06-26T23:08:41Z")

</div>

> [@ppolewicz](#):
>
> BTW if Java and .net developers can have free threads, then so can we.

The word “can” here translates to (potentially) decades of work, which was the case for Java:

> [@PEP 703: Making the Global Interpreter Lock Optional (3.12 updates)](https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503/10):
>
> It took the developers of the HotSpot JVM many years and many many person years to iron out all the concurrency bugs. I don’t see any reason to believe that we will do any better.

Yes we “can” (and likely should), but it requires serious commitment, and off-hand “others do it too” is not helpful here.

In the context Java and threading, it’s worth noting how threads commonly need quite a lot of developer-facing infrastructure (e.g. thread pools) that’s probably very hard to make beginner-friendly / “Pythonic”, and that they’re on a similarly large multi-{year,person} effort to move from free threads to virtual threads\[1\] under [Project “Loom”](https://openjdk.org/projects/loom/) (where – arguably – the boundaries to async programming start getting blurred), and encapsulating a lot of that in simpler interfaces through [“structured concurrency”](https://openjdk.org/jeps/453), which we have already (at least through `trio`).

All that to say: if we argue “Java can”, then we should also look at where those choices have led them, and what they consider as “moving forward” from there. But realistically, we’re very far from an apples-to-apples comparison in any case, and it’s better to leave that rhetorical tool hanging in the shed.

* * *

1. latest [incarnation](https://openjdk.org/jeps/444) in JDK 21

---

_[View the full topic](https://discuss.python.org/t/a-fast-free-threading-python/27903)._
