Runloom - это библиотека для Python, которая позволяет запускать сотни тысяч задач одновременно, не усложняя при этом код.
Если говорить простыми словами: обычно, чтобы сделать программы в Python быстрыми и параллельными, разработчикам приходится переписывать весь проект под
async и await. Runloom позволяет писать самый обычный, понятный код (без асинхронной «лапши»), но выполняет его так же быстро и эффективно, как язык Go (Golang).async и await: Вы пишете привычные функции, а библиотека сама незаметно переключает задачи в фоновом режиме, пока одна из них ждет ответа от сети или диска.runloom.monkey.patch() умеет на лету превращать стандартные «медленные» библиотеки (например, urllib или socket) в параллельные без переписывания вашего кода.import threading
import runloom
from urllib.request import urlopen
# Делаем стандартные сетевые запросы параллельными
runloom.monkey.patch()
def download(url):
# Код выглядит так, будто он блокирует программу и ждет ответа...
# Но Runloom не дает ему зависнуть и скачивает всё одновременно!
body = urlopen(url).read()
print("Скачано байт:", len(body))
def main():
# Запускаем 64 скачивания параллельно
for _ in range(64):
runloom.fiber(download, "http://example.com")
# Распределяем работу на 8 ядер процессора
runloom.run(8, main)
pip install runloom
#Python #Runloom #Performance #Async #Concurrency #Go #Golang #DevTools #OpenSource #Программирование
https://github.com/robertsdotpm/runloom
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - robertsdotpm/runloom: (Still experimental) Real Goroutines for Python 3.13t+ free-threaded.
(Still experimental) Real Goroutines for Python 3.13t+ free-threaded. - robertsdotpm/runloom
1👍2🔥2 1