Skip to content

Conversation

@martindurant
Copy link
Member

@martindurant martindurant commented Dec 22, 2025

Since "subinterpreters" is now mainline as concurrent.interpreter in py3.14 (and reachable since 3.12, apparently), we can have true parallelism notwithstanding the GIL - especially since memoryview objects are uniquely zero-cost to transfer.

This PR will experiment with a new way to run batches of coroutines in async loops running in one subinterpreter in one thread each. This could increase throughput by something like 4x for the extremely high-bandwith case, where stream decoding (decrypt and decompress) makes IO CPU-bound.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant