Python多处理 - 随着任务数量的增加而增加时间的解释

时间:2015-10-27 17:00:14

标签: python python-multiprocessing

我有一个简单的功能来执行任务。我传递了多个参数。

def call_process(processes):
    pool = Pool()
    results_1=pool.map(change_route_thread,processes)
    pool.close()
    pool.join()

如果进程数组中有20,40,60个任务,平均每个任务大约需要0.1秒。

但是如果进程数组中有80或100个任务,则平均每个任务需要0.2秒。

为什么会这样? 我想把80或100个任务的时间减少到0.1秒。

我试图这样做: -

def call_process(processes):
    pool = Pool()
    results_1=pool.map(change_route_thread,processes[0:60])
    pool.close()
    pool.join()

    pool = Pool()
    results_1=pool.map(change_route_thread,processes[60:])
    pool.close()
    pool.join()

它给了我类似的结果。这是对操作系统的限制吗?

确切的统计数据: -

任务平均每个任务的时间

10 0.107878417969

20 0.107998579025

40 0.11048762989

60 0.154217456818

80 0.234604523659

100 0.237693323135

0 个答案:

没有答案