并行作业性能
问题描述:
我使用time
来构建make
版本,我注意到有-j 8
比-j 4
慢几毫秒。我正在使用英特尔Core2 Quad上的gcc进行编译,因此只有四个处理器内核。这种放缓可能是由于资源限制,无论make
用于安排工作是否增加了一些开销?并行作业性能
答
老实说,我会考虑几个milli的差异 - 可能只是统计噪音。多次运行测试,并在假设差异显着之前查看差异是否可重复。这就是说,在4个CPU上运行8个CPU绑定进程通常会比运行两组4个进程承担更多的多任务开销。如果make过程涉及很多I/O(通常它会这样做),那么当其他进程在I/O上停滞时,运行超过4个(例如5或6个)来填充CPU队列会有一些好处,但是8可能是矫枉过正。