В Python пытаются принести настоящие goroutines. — 18 июля 2026 г. в 10:12:25.376
В Python пытаются принести настоящие goroutines. runloom — экспериментальный runtime для free-threaded Python 3.13t+, где можно писать обычный блокирующий код, но запускать его как лёгкие fibers: runloom.fiber(fn) Без async def, без await, без переписывания всего приложения под asyncio. Под капотом там не магия, а довольно жёсткая инженерия: hand-written asm context switch, C work-stealing scheduler, netpoll, Go-style channels и monkey.patch(), который делает blocking stdlib cooperative. То есть urlopen(), socket, time, threading могут выглядеть как обычный синхронный код, но runtime будет парковать fiber, а не весь OS thread. По бенчмаркам автора, Runloom уже близко к Go по scheduler throughput: около 2.29M spawn/s на C-entry, parity на conn/s и почти parity на keep-alive echo с Python handler. Но важный нюанс: мультикорный выигрыш требует free-threaded CPython с выключенным GIL. На обычной GIL-сборке модель останется скорее удобной альтернативой asyncio, а не способом выжать все ядра. Ещё честный минус - память. Пустой parked fiber весит больше Go-горутины примерно в 3.3 раза, потому что за ним тянется CPython eval frame. pip install runloom https://github.com/robertsdotpm/runloom

