1、pool进程池的数量是根据什么确定的?比如:程序确定,电脑性能确定,如何求pool的数量使程序最短时间完成。
2、做一个cup密集型的运算(大量矩阵循环计算),发现pool(1)比pool(2)就快多了,然后pool()的值设定越大时间越长。。。但是我人工把文件分放在8个文件夹下,要同时开8个python的程序运行,总体时间会比单开快好多的,为什么使用pool.map却没有实现提高效率呢?
真心求教,先给各位大神跪了。
1、pool进程池的数量是根据什么确定的?比如:程序确定,电脑性能确定,如何求pool的数量使程序最短时间完成。
2、做一个cup密集型的运算(大量矩阵循环计算),发现pool(1)比pool(2)就快多了,然后pool()的值设定越大时间越长。。。但是我人工把文件分放在8个文件夹下,要同时开8个python的程序运行,总体时间会比单开快好多的,为什么使用pool.map却没有实现提高效率呢?
真心求教,先给各位大神跪了。
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
2 回答432 阅读✓ 已解决
目测你开了超线程。
因为你开了超线程,pool(2)的话,其实还是在同一个核上算,当然慢。
计算密集型最好关闭超线程,不知道理解对不对,你可以试试。