Параметр «chunksize» в многопроцессорной обработке Python.Pool.map

Если у меня есть объект пула с двумя процессорами, например:

p=multiprocessing.Pool(2) 

и я хочу перебрать список файлов в каталоге и использовать функцию карты

мог бы кто-нибудь объяснить, что такое chunksize этой функции:

 p.map(func, iterable[, chunksize]) 

Если я установил chunksize, например, 10, это означает, что каждые 10 файлов должны обрабатываться одним процессором?

  • Python defaultdict и лямбда
  • Не удается найти файлы с длинными именами в Windows с помощью Python
  • Какая IDE для научных вычислений и построения графиков в Python?
  • Замена пустых значений (пробел) на NaN в пандах
  • Преобразование RGB-изображения в оттенки серого и управление пиксельными данными в python
  • Поле SerializerClass в Сериализаторе сохранить с первичного ключа
  • Являются ли IPython независимыми процессами?
  • Как вы можете использовать имя переменной внутри спецификатора формата Python
  • One Solution collect form web for “Параметр «chunksize» в многопроцессорной обработке Python.Pool.map”

    Глядя на документацию для Pool.map, кажется, вы почти правы: параметр chunksize приведет к тому, что итерабельность будет разбита на части примерно такого размера, и каждая часть будет представлена ​​как отдельная задача.

    Итак, в вашем примере да, map займет первые 10 (приблизительно), отправьте ее как задачу для одного процессора … тогда следующие 10 будут представлены как другая задача и так далее. Обратите внимание, что это не означает, что это заставит процессоры чередовать каждые 10 файлов, вполне возможно, что процессор # 1 получит 1-10 И 11-20, а процессор # 2 получит 21-30 и 31-40.

    Python - лучший язык программирования в мире.