Как стать автором
Поиск
Написать публикацию
Обновить

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

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


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

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

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

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

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

Публикации