У меня есть некоторый код, который выглядит следующим образом:
for photo in photoInfo:
if not('url' in photo):
raise Exception("Missing URL: " + str(photo) + " in " + str(photoInfo))
sizes = getImageSizes(photo['url'])
photo.update(sizes)
Это может быть неочевидно, но код выполняет сочетание операций ввода-вывода с высокой задержкой (открытие удаленного URL) и умеренной загрузки ЦП.интенсивный процесс (синтаксический анализ изображения и извлечение размера) для каждой фотографии.
Какой самый простой способ распараллелить этот код?
Что я пробовал до сих пор
Я нашел этот код в ответе на другой, более сложный вопрос , но мне трудно сопоставить его с моим гораздо более простым вариантом использования:
from itertools import product
from multiprocessing import Pool
with Pool(processes=4) as pool: # assuming Python 3
pool.starmap(print, product(range(2), range(3), range(4)))