“芹菜比多进程慢吗?”

2024-05-08 11:43:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两台电脑,c1和c2。c1是双核cpu,c2是四核cpu。所以我用6个工人把这两台电脑和芹菜连接起来做一些工作。然而,当我在c1中使用6个工人的多处理时,似乎芹菜中的每个工人在多处理方面都比较慢?为什么?那么芹菜比多处理有什么优势呢?在

例如:

我的功能是:

    def readFromHBase(inputData):
        ...
        return data

我用芹菜和多重处理从100000个样本中读取了1000个文件。在

在芹菜里,我让6个工人跨越两台电脑c1和c2,如上所述。每个工人将读取10个文件,直到1000个文件全部获得。在

在多处理中,我也做了同样的工作,但只在c1中设置了一个6个工人的池。每个工人将读取10个文件,直到1000个文件全部获得。在

结果表明,每一个多道工序的工人所花费的时间比芹菜要少。这是怎么发生的?在


Tags: 文件功能datareturndefcpu芹菜工人
1条回答
网友
1楼 · 发布于 2024-05-08 11:43:49

Celery有一个队列代理。多处理不会。 Celery工作人员从中心队列、NetworkOne(甚至在本地主机上)提取任务。多处理使用IPC。在

当然,IPC的开销比socket层小。在

你用你的表现来衡量你的扩展能力。在

相关问题 更多 >