• R语言
  • doMC包foreach并行的代码中再次并行是否可行?

伪伪代码如下:

<br />
X <- foreach (i in seqX) %dopar%<br />
{ ...<br />
functionX<br />
...}<br />

<br />
functionX{</p>
<p>Y <- foreach (j in seqY) %dopar%{<br />
...}}<br />
</p>

两个地方都使用了registerDoMC(4)

其中返回值部分没有问题。但是设定4个核,只有三个核在100%CPU运行,可是理论上应该是4*4=16个核啊。不知道为什么。谢谢。

在两个foreach之间加上 %:%

查看vignette('nested')有详细的信息