正如Epic Games所记载的那样,我只是试着使用编译虚幻引擎。
在Visual 2017中构建该项目时,我注意到我的大部分核心都是空闲的:
即使我减去仅是逻辑的核(因为它们不是“真实的”),也有一半的核心或多或少是不活动的。(16个真正的核心,但其中只有6-8个似乎真正起作用)
我怀疑其他硬件组件是否是瓶颈。内存是半空的,而SSD基本上什么也不做(大约1%的使用率)。我已经将Visual设置中并行项目生成的最大数量设置为32。
我遗漏了什么东西吗?我可以通过使用更多的内核来获得更好的性能吗?
发布于 2021-03-21 15:42:27
并不是所有的操作/算法都同样适合并行化。有些在本质上是连续的。例如,构建不同项目的顺序取决于它们之间的依赖关系。此外,在编译和构建过程中使用了大量的中间文件。即使在使用SSD时,这也涉及到大量IO绑定操作,CPU内核在这些操作中无所事事。因为这些文件很多都是小的,所以它们不会带来很大的吞吐量,但是它们将涉及大量的开销.
也许是个有趣的读物:https://cs.stackexchange.com/questions/19643/which-algorithms-can-not-be-parallelized
https://stackoverflow.com/questions/66733494
复制相似问题