捆绑:多少并行作业?

时间:2016-08-26 10:08:49

标签: ruby performance parallel-processing bundler

Bundle supports parallel processing--jobs

  

--jobs选项(简称-j)并行安装gems。例如,bundle install -j4将使用4个worker。我们已经看到新捆绑安装的加速比例为40-60%。要始终并行安装,请运行bundle config --global jobs 4或设置BUNDLE_JOBS。

4是这里使用的例子,但为什么不是2或8?是否有最佳数量或方法来计算最佳并行过程数?如果时间受到网络活动的约束,我认为它应该很高,例如64,或者如果受计算限制,则可能是机器上的核心数量。

2 个答案:

答案 0 :(得分:1)

这完全取决于CPU拥有多少内核和可用内存。假设你的内存容量不错,你可以使用内核数作为-j参数。如果您使用的是Linux,则可以运行此命令列出您的核心:

<div class="inner">
  <a href="{{ link }}"><div class="image-box" style="background-image:url(http://placehold.it/350x550)"></div></a>

</div>

答案 1 :(得分:0)

getconf在Mac OS X和Linux中均可使用,以防万一您需要与两个系统兼容的情况:

$ getconf _NPROCESSORS_ONLN
12

有人建议使用内核总数减去1,但是根据我的经验,您可以毫无问题地使用所有内核:

bundle install --jobs `getconf _NPROCESSORS_ONLN`