python单线程省时间是固定的吗,时间是根据什么有关系

python 的多线程一定比单线程省时间 而且是固定数值8s吗图片说明图片说明

如图二个单线程总时间是18s
执行的多线程时间花费10s(控制台20-10)
固定数值是8
我换了方法的循环次数
计算完还是省8s时间
这是固定的吗

应该是你的线程使用问题

因为你使用了sleep,而你真正cpu负载的代码没有,所以这个时间是你人为控制的,几乎和不同的硬件没有关系。耗时是一个固定值。

真实的情况下,多线程程序,如果本身没有同步,没有IO/NET的延迟,纯粹的CPU负载,那么多线程的加速比和你的计算机有多少处理器有关。
每个物理核心可以大约提高1倍的性能,每个SMT逻辑核心大约可以提高0.3。比如说你的处理器是8700K,六核心十二线程,理论上可以快6x1.3=7.8倍
但是,因为这个处理器单核心有boost加速(睿频),大约能快20%,所以加速比大约是7.8/1.2=6.5x,也就是单线程65秒的程序,多线程可以10秒运行完。