управление многопроцессорной памятью Python - PullRequest
0 голосов
/ 21 ноября 2018

Многопроцессорная обработка запущена ( отсюда ).

Раньше использование памяти было почти нулевым, поскольку было создано всего несколько переменных и генератор.С добавлением многопроцессорности использование памяти увеличилось до 12 ГБ ОЗУ.

Теперь мне стало интересно, как я могу сделать этот фрагмент кода более эффективным при использовании памяти и почему он даже нуждается в этоммного.

poss = [x+1 for x in range(20)]
all_rolls = itertools.product(poss, repeat=6)

win = mp.Value('i', 0, lock = True)
draw = mp.Value('i', 0, lock = True)
loose = mp.Value('i', 0, lock = True)

def some_func(roll):
  if(comparison on rolls):
    with win.get_lock():
      win.value += 1
  elif(other comparison):
    with draw.get_lock():
      draw.value +=1
  else:
    with loose.get_lock():
      loose.value +=1

with Pool(8) as p:
  p.map(some_func, all_rolls)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...