CPU 核心、胎面和最佳工人数量 - python 线程

CPU cores, treads and optimal number of workers - python threading

我开始意识到 python 上线程库的实用性,我想知道保持打开状态的线程的最佳数量是多少才能最大限度地提高脚本的效率 运行宁。

请记住,我唯一优先考虑的是速度,我不需要多任务处理/做其他事情(想想计算专用服务器)

具体来说,如果我运行在4核/4线程CPU上,最佳线程数会是4吗? 8? 16?再一次,如果我每个核心有一个以上的线程(4 核心 8 t),答案会改变吗?另外,cpu 时钟会影响这些吗?

我知道这件事有多种含义,但就我对这个主题的研究而言,我仍然觉得自己一无所知。 (我收集到它并不像 n 个线程 = n 个进程那么简单)

这个问题非常复杂,因为在同一个 CPU 上可以有任意数量的其他线程 运行,来自不受您控制的进程。

相反,您可以根据创建新线程所需的时间来估计某段代码何时值得由单独的线程执行。