在进行大数据量的数据回测时,往往是针对不同的参数,对相同的数据进行循环计算,这时我们可以使用多进程来实现高速回测。
导入pool库文件
from multiprocessing.pool import Pool
定义一个简单函数
def double(i):
return i * 2
主程序代码
if __name__ == ‘__main__’:
pool = Pool(processes=4) #自己设定进程数量
result = pool.map(double, [1,2,3,4,5])
print(result)
注释
Pool有一个processes参数,这个参数可以不设置,如果不设置函数会跟根据计算机的实际情况来决定要运行多少个进程
我们也可自己设置,但是要综合考虑自己计算机的处理器性能,一般可以设置为CPU核心数,可以自己建立一个试验脚本进行测试
注意:进程池pool对象定义放在main函数下,否则会报错
map()函数中,第一个参数是我们需要引用的函数,第二个参数是需要迭代的参数列表。
map()函数会自动将参数列表中的每一个数据作为参数传到第一个参数引用的函数中,得到最终结算结果,作为一个列表result输出。
Python进程池pool使用方法-Digiccy数据信息www.digiccy.info