Вышел Uvloop — Расширенная Реализация Цикла Событий Для Asyncio В Python

В стандартную библиотеку Python 3.4 когда-то входил модуль асинхронный , что позволило удобно и быстро писать асинхронный код. А теперь о синтаксисе Python 3.5. были Были добавлены конструкции async/await, окончательно формализовавшие асинхронность «из коробки» как красивую и гармоничную часть языка.



Вышел Uvloop — расширенная реализация цикла событий для asyncio в Python

Хотя сам asyncio позволяет писать высоконагруженные веб-приложения, оптимизация производительности не была приоритетом при создании модуля.

Один из авторов упомянутого PEP-492 (async/await) Юрий Селиванов (на Хабре — 1-й1 , его твиттер ) взял на себя задачу разработать альтернативную реализацию цикла событий для asyncio — увлуп .

Вчера вышла первая альфа-версия модуля, о чем писал автор расширенный пост .

Короче говоря, uvloop работает примерно в 2 раза быстрее, чем Node.js, и почти не уступает программам на Go.



Применение

uvloop написан на Cython и построен поверх Либув .

Установить модуль можно стандартно (Windows на данный момент не поддерживается):

  
   

pip install uvloop

Также не сложно использовать:

import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

Теперь любой вызов asyncio.get_event_loop() вернет экземпляр uvloop.

Производительность

Подробнее о бенчмарках (методологии и выводах) можно прочитать здесь.

в оригинале , ниже приведены только окончательные графики.

Результаты для простых TCP-запросов разного размера:

Вышел Uvloop — расширенная реализация цикла событий для asyncio в Python

HTTP-запросы:

Вышел Uvloop — расширенная реализация цикла событий для asyncio в Python

Теги: #python3 #asyncio #uvloop #асинхронное программирование #Высокая производительность #python

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.