答案1
经过评论之后,我猜这会成为一个框架挑战。
让我们假设软件不会主动计算核心来填充下拉菜单,因此我们在下拉菜单中只有“一堆数字”[我可能错了,但这似乎是最简单的解释]。
这给我们留下了一个更通用的问题,“并行进程使用的最佳核心数是多少?”
这个问题的答案经常被争论,但我基于经验主义的看法是,“最佳”核心数是你的真实的核心数。与任何并行任务一样,每个线程都具有同等的“重要性”,因此,一旦超过实际核心数并进入超线程,就会开始在 CPU 管理中产生调度冲突,因此,尽管你可能实际上增加了总体吞吐量,但这样做的收益却在递减。
一个相当简单的测试方法是使用虚拟机来执行非常繁重的任务,例如应用程序编译或视频压缩。通过改变分配给虚拟机的核心数量,您可以很快看到这个“理想”是如何实现的。[这假设没有其他瓶颈;我的测试是在一对 6 核 [真正的] Xeon 上进行的,因此有 24 个 HT 线程、64GB RAM、2 个 SSD 驱动器,以将尽可能多的读/写与实际结果分开]