我写了这段代码来测试我的计算机上的 Python 的多处理:
from multiprocessing import Pool
var = range(5000000)
def test_func(i):
return i+1
if __name__ == '__main__':
p = Pool()
var = p.map(test_func, var)
我使用 Unix 的 time 命令对此进行计时,结果是:
real 0m2.914s
user 0m4.705s
sys 0m1.406s
然后,使用相同的var
,test_func()
我计时:
var = map(test_func, var)
结果是
real 0m1.785s
user 0m1.548s
sys 0m0.214s
多处理代码不应该比普通的旧代码快得多map
吗?