Эффективно ли переключается количество используемых процессов? - PullRequest
0 голосов
/ 08 февраля 2020

Я довольно новичок в многопоточном программировании. Я написал небольшой скрипт для загрузки фотографий параллельно. Если я просматриваю список объектов с количеством фотографий от 0 до 20+ и более oop, то эффективнее ли иметь общее количество потоков в пуле потоков или варьироваться в зависимости от количества изображений? Некоторые первоначальные тесты предполагают, что имеет смысл иметь количество c, имеет некоторые статистические данные по данным, геометрия c означает около 15,5 изображений, а среднее - 23.

def processObj(obj):
  # this is function called per object
  from multiprocessing import Pool, cpu_count
  from functools import partial
  # .... processing object that may have multiple photos
  # numPhotos is the num of photos to download
  if len(allPhotos) < 10:
      numProcess = 6
    else:
      numProcess = 12
    getLogger('info').info('\t Extracting Photos')
    pool = Pool(numProcess)
  # processPhoto downloads photo
  download_func = partial(processPhoto, folderName = folderName)
  # photoList is a list of urls to photos
  results = pool.map(download_func, photoList)
  pool.close()
  pool.join()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...