Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 捆绑:有多少个并行作业?_Ruby_Performance_Parallel Processing_Bundler - Fatal编程技术网

Ruby 捆绑:有多少个并行作业?

Ruby 捆绑:有多少个并行作业?,ruby,performance,parallel-processing,bundler,Ruby,Performance,Parallel Processing,Bundler,使用--作业: --jobs选项(-j)并行安装gems。例如,bundle安装-j4将使用4个工人。我们已经看到新捆绑安装的速度提高了40-60%。要始终并行安装,请运行bundle config--global jobs 4或设置bundle\u jobs 4是这里使用的示例,但为什么不是2或8?是否有一个最佳数量或计算最佳并行进程数量的方法?如果时间受网络活动限制,我会认为它应该很高,例如64,或者如果受计算限制,那么可能是机器上的内核数。这一切都取决于您的CPU有多少内核和可用内存。假设

使用
--作业

--jobs选项(-j)并行安装gems。例如,bundle安装-j4将使用4个工人。我们已经看到新捆绑安装的速度提高了40-60%。要始终并行安装,请运行bundle config--global jobs 4或设置bundle\u jobs


4是这里使用的示例,但为什么不是2或8?是否有一个最佳数量或计算最佳并行进程数量的方法?如果时间受网络活动限制,我会认为它应该很高,例如64,或者如果受计算限制,那么可能是机器上的内核数。

这一切都取决于您的CPU有多少内核和可用内存。假设您有适当的内存量,您可以使用内核数作为-j参数。如果您在linux上,则可以运行此命令列出您的内核:

cat /proc/cpuinfo | grep processor

getconf
可在Mac OS X和Linux中工作,以防您需要它与这两个系统兼容:

$getconf\u处理器\u ONLN
12
有些人建议使用内核总数减去1,但根据我的经验,您可以使用所有内核而不会出现问题:

bundle install --jobs `getconf _NPROCESSORS_ONLN`

我认为您可以使用2或8,这实际上取决于您的机器:有多少内存和处理能力可用于该任务。