0

time用来分析make构建,我注意到它-j 8-j 4. 我在 Intel Core2 Quad 上使用 gcc 进行编译,因此只有四个处理器内核。这种放缓可能是由于资源限制,以及任何make用于安排作业的方法都会增加一些开销吗?

4

2 回答 2

1

如果您运行的进程多于处理器,那么操作系统将需要一些上下文切换。这不是问题make;这就是当资源不足时如何安排工作的。

于 2012-09-21T14:33:06.420 回答
1

老实说,我认为几毫秒的差异可能只是统计噪音。多次运行测试,看看差异是否可重复,然后再假设差异显着。

也就是说,在 4 个 CPU 上运行 8 个 CPU-bound 进程通常会比运行两组 4 个进程产生更多的多任务开销。如果 make 进程涉及大量 I/O(通常确实如此),那么当其他进程在 I/O 上停滞时,运行超过 4 个(比如 5 或 6 个)来填充 CPU 队列会有一些好处,但是8可能有点过分了。

于 2012-09-21T20:57:11.967 回答