为什么多处理比一个进程执行慢

时间:2018-08-29 12:19:28

标签: python python-3.x multiprocessing

我在python 3.6.5中有下一个代码

def normalize_item(self, item):
    morph = pymorphy2.MorphAnalyzer()
    return {'phrase': item['phrase'],
            'words': [morph.parse(word.lower())[0].normal_form
                      if word.lower() not in self.normed
                      else self.normed[word.lower()]
                      for word in item['phrase'].split(' ')],
            'active': item['active'],
            'cash': item['cash']}

def __normalize_phrase_to_dict(self, phrases):
    pool = mp.Pool(processes=int(mp.cpu_count()))
    result = pool.map(self.normalize_item, phrases)
    pool.close()
    self.phrases = result

它的工作速度比简单的迭代执行慢了8倍。 请向我解释为什么会发生这种情况以及如何解决。我应该提高性能,但是现在我只会使其变慢。我有一台配备英特尔酷睿i7 8550u的笔记本电脑,要处理的数据量约为80-9万。感谢您的回答。

0 个答案:

没有答案