Задать вопрос
@beginer123

Python многопотончость многопроцессорность?

Есть следующий код(просто парсит 5 сайтов):
Как его можно ускорить?(у меня время выполнения примерно 2-3 секунды)
def millis():
  return int(round(time.time() * 1000))


def http_get(url):
  start_time = millis()
  result = {"url": url, "data": urlopen(url, timeout=5).read()[:100]}
  print(url," took ",str(millis() - start_time)," ms")
  return result

if __name__ == '__main__':
    pool = Pool(processes=1)

    start_time = millis()

    urls = ['http://www.google.com/', 'https://foursquare.com/', 'http://www.yahoo.com/', 'http://www.bing.com/',
            "https://www.yelp.com/"]
    results = pool.map(http_get, urls)

    print("\nTotal took ", str(millis() - start_time), " ms\n")
  • Вопрос задан
  • 915 просмотров
Подписаться 3 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@asd111
Попробуйте pool = Pool(processes=5)
Здесь processes=5 это количество одновременных потоков, соответственно чем больше тем быстрее( в разумных пределах)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы