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