如何确认正在使用多处理库



我正在尝试对以下代码使用多处理。该代码的运行速度似乎比函数内的for循环快一点。

我如何确认我使用的是库而不是for循环?

from multiprocessing import Pool
from multiprocessing import cpu_count
import requests 
import pandas as pd
data= pd.read_csv('~/Downloads/50kNAE000.txt.1' ,sep="t", header=None)
data = data[0].str.strip("0    ")
lst = []
def request(x):
for i,v in x.items():
print(i)
file = requests.get(v)
lst.append(file.text)
#time.sleep(1)
if __name__ == "__main__":
pool = Pool(cpu_count())
results = pool.map(request(data))
pool.close()  # 'TERM'
pool.join()   # 'KILL'

多处理器有开销。它必须启动进程并通过进程间机制传递函数数据。在另一个进程中只运行一个函数与正常运行同一个函数相比总是会更慢。其优点实际上是在函数中进行并行,这样可以将开销降至最低。

您可以调用multiprocessing.current_process().name来查看进程名称的更改。

相关内容

  • 没有找到相关文章

最新更新