我需要检查do_something()
方法在两个包含三万个元素的列表中总共花费了多少时间。以下是我的代码:
def run(a, b, data):
p = datetime.datetime.now()
val = do_something(a, b, data[0], data[1])
q = datetime.datetime.now()
res = (q - p).microseconds
return res
接下来,我使用以下代码调用:
func = functools.partial(run, a, b)
x = np.linspace(500, 1000, 30000).tolist()
y = np.linspace(20, 500, 30000).tolist()
data = zip(x, y)
with multiprocessing.Pool(processes=multiprocessing.cpu_count()) as pool:
d = pool.map(func, data)
res = sum(d)
每次运行此代码时,都会出现 "OSError: [Errno 24] Too many open files" 的错误。我该如何解决这个问题?
pool.join()
。 - smanna