【问题标题】:python multiprocessing get() performancepython多处理get()性能
【发布时间】:2012-12-15 12:35:38
【问题描述】:

我在 python 上使用多处理解码消息。我有20个工人。工人解码消息。解码后的消息大小约为 0.1 - 1MB。

def do_work(message):
    try:
        msg = pickle.loads(message[1])
        decoded_msg = codec.DECODE(Message(**msg).content)
    except:
        decoded_msg = "Unable to decode message"

我有大约 2k - 5k 条消息。解码过程比较快。但是当我试图从工人那里接收结果时:

decoded_msg.append(outQ.get())

速度太慢了。

我的问题是为什么接收过程如此缓慢以及如何提高它的性能?

【问题讨论】:

标签: python performance multiprocessing


【解决方案1】:

decoded_msg 是一个对象。因此,如果我先将其转换为字符串,然后通过 outQ.get() 接收它,然后再次将其作为对象,则此过程非常快。

【讨论】:

    猜你喜欢
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2015-10-19
    相关资源
    最近更新 更多