捆绑:有多少个并行作业?
Bundle: How many parallel jobs?
Bundle supports parallel processing 与 --jobs
:
The --jobs option (-j for short) installs gems in parallel. For example, bundle install -j4 will use 4 workers. We've seen speedups of 40-60% on fresh bundle installs. To always install in parallel, run bundle config --global jobs 4 or set BUNDLE_JOBS.
4是这里用的例子,为什么不是2或者8呢?是否有最佳数量或计算并行进程最佳数量的方法?如果时间受网络限制activity,我认为它应该很高,例如64,或者如果受计算限制,则可能是机器上的内核数。
这完全取决于您的 CPU 有多少个内核和可用内存。假设您有合适的内存量,您可以使用核心数作为您的 -j 参数。如果你在 linux,你可以 运行 这个命令来列出你的核心:
cat /proc/cpuinfo | grep processor
getconf
在 Mac OS X 和 Linux 中都有效,以防万一您需要它与两个系统兼容:
$ getconf _NPROCESSORS_ONLN
12
有些人建议使用内核总数减 1,但根据我的经验,您可以毫无问题地使用所有内核:
bundle install --jobs `getconf _NPROCESSORS_ONLN`
Bundle supports parallel processing 与 --jobs
:
The --jobs option (-j for short) installs gems in parallel. For example, bundle install -j4 will use 4 workers. We've seen speedups of 40-60% on fresh bundle installs. To always install in parallel, run bundle config --global jobs 4 or set BUNDLE_JOBS.
4是这里用的例子,为什么不是2或者8呢?是否有最佳数量或计算并行进程最佳数量的方法?如果时间受网络限制activity,我认为它应该很高,例如64,或者如果受计算限制,则可能是机器上的内核数。
这完全取决于您的 CPU 有多少个内核和可用内存。假设您有合适的内存量,您可以使用核心数作为您的 -j 参数。如果你在 linux,你可以 运行 这个命令来列出你的核心:
cat /proc/cpuinfo | grep processor
getconf
在 Mac OS X 和 Linux 中都有效,以防万一您需要它与两个系统兼容:
$ getconf _NPROCESSORS_ONLN
12
有些人建议使用内核总数减 1,但根据我的经验,您可以毫无问题地使用所有内核:
bundle install --jobs `getconf _NPROCESSORS_ONLN`