Как стать автором
Обновить

Комментарии 8

Чтобы воспользоваться преимуществами asyncio, я использовал aiohttp вместо requests. asyncio — асинхронный эквивалент requests со схожей функциональностью и API.


Опечатка? Наверное aiohttp это эквивалент?
А это специально для каждого запроса своя сессия открывается? Общая сессия — залог более быстрой работы.
Кроме того надо учитывать особенности библиотек при коннекте к одному серверу. У вас 100 запросов — это как раз предел для aiohttp (при общей сессии).
Также сервер может использовать ограничение одновременных коннектов. Если у вас, скажем, максимум 5 одновременных скачиваний, то, скорее всего, полноценной одновременности не получится. Для более чистого теста, может быть, использовать просто чтение из файла?
Также интересно было бы сравнить с PyPy — может быть там свои особенности?
задачи активно использующие ЦП, такие как обработка изображений
странно, что multiprocessing вообще не упомянут
Кстати да, но как там мерять память?

asyncio это не "параллельная обработка"

Ну если смотреть формально, то потоки тоже не параллельные в питоне (CPython и тп).

Это формальная параллельность или псевдо-параллелизм. Даже множество запущенных процессов с одноядерным процессором концептуально не отменяет параллелизм. А вот асинхронность (acyncio) никак не параллелизм. Дело в переводе, в оригинальной статье (да и в офф документации) acyncio описан как concurrency. А конкурентность и параллельность это разные вещи. Можно почитать: https://m.habrahabr.ru/company/piter/blog/274569

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории