Параллелизм данных в Python - PullRequest
       13

Параллелизм данных в Python

0 голосов
/ 30 октября 2018

Я написал парсер, который разбирает предложения в большом корпусе (900 000 абзацев) в деревья разбора избирательных округов. Парсер работает путем преобразования каждого абзаца в список деревьев разбора групп. Вот общая идея кода:

paragraphs = load_dataset()
trees = list(map(parse_trees, paragraphs))

Я попытался использовать Python multiprocessing и использовал функцию pool:

paragraphs = load_dataset()
p = multiprocessing.Pool(4)
trees = p.map(parse_trees, paragraphs)

Что я заметил, так это то, что использование multiprocess делает задачу медленнее, чем ее отсутствие.

После дальнейших исследований я понял, что существует различие между параллелизмом задач и параллелизмом данных, и я думаю, что в моей ситуации параллелизм данных более подходит.

Однако я не могу найти в Python никаких методов для этого, и мне было интересно, может ли кто-нибудь указать мне правильное направление.

...