Я пытаюсь для использования Python для получения некоторой производительности на задаче, которая может быть высоко параллелизирована с помощью http://docs.python.org/library/multiprocessing.
При рассмотрении их библиотеки они говорят для использования размера блока очень долго iterables. Теперь, мое повторяемое не длинно, один из dicts, которые он содержит, огромен: ~100000 записей, с кортежами как ключи и numpy выстраивают для значений.
Как я установил бы chunksize для обработки этого и как я могу передать эти данные быстро?
Спасибо.
Единственный способ обработать этот один большой предмет сразу в нескольких рабочих - разделить его на части. мультипроцессинг
работает, разделяя работу на части, но наименьшая единица, которую вы можете ему скормить, это один объект - он не может знать, как разделить один объект разумным образом. Вместо этого вы должны сделать это сами. Вместо того чтобы посылать кубики для обработки, разделите кубики на более мелкие рабочие единицы и посылайте их. Если вы не можете разделить дикту, потому что все данные взаимозависимы, то вы не можете разделить и работу.