【发布时间】:2021-02-10 17:24:36
【问题描述】:
为什么multi 函数使用多处理池对多个“进程”上的数据进行分段和处理比仅调用map 函数(6 秒)慢(8 秒)?
from multiprocessing import Pool
import timeit
def timer(function):
def new_function():
start_time = timeit.default_timer()
function()
elapsed = timeit.default_timer() - start_time
print('Function "{name}" took {time} seconds to complete.'.format(name=function.__name__, time=elapsed))
return new_function
def cube(n):
return n*n*n
nums = range(20000000)
if __name__ == '__main__':
@timer
def multi():
pool = Pool()
res = pool.map(cube,nums)
pool.close()
pool.join()
@timer
def test():
a = map(cube,nums)
multi()
test()
【问题讨论】:
标签: python python-3.x multithreading multiprocessing