Многопроцессорный модуль управления памятью Python 2 vs 3 - PullRequest
0 голосов
/ 05 декабря 2018

В последние несколько лет я работал над модулем python для параллельной обработки спутниковых изображений и недавно заметил, что использование памяти моим модулем сильно отличается между питоном 2 и 3. Эта проблема всегда возникает, когда я начинаю распараллеливание с использованиеммногопроцессорный модуль.Кто-нибудь знает причину этого?

Основной процесс моего кода заключается в следующем: я отправляю работникам разные части изображения, используя полную карту памяти полного изображения и координаты для извлечения необходимых данных.ломтик.Эти фрагменты затем обрабатываются параллельно и сохраняются на диск.

Когда я запускаю свой код с python 2, во время обработки память иногда использует стремительный рост, тогда как с python 3 она кажется намного более стабильной.В Python 2 использование памяти иногда может быть более чем в пять раз больше ... Мой код во многом зависит от использования пустых меммапов для доступа к моим данным на диске, но я не уверен, связано ли это с этим.

Я думаю, что мне было бы хорошо попросить моих пользователей работать только на Python 3, но было бы хорошо, если бы пользователи Python 2 могли использовать и мой модуль.

...