title: Does it make sense do distribute n tasks over n+1 cores when parallel computing? R
body: <p>I just started computing in Parallel in R to optimise my code, and although I understand the basic concept, I have a seemingly simple question that I haven't found the answer to.</p>
  
  <p>If I have a foreach loop of <strong>n</strong> iterations and <strong>m>n</strong> cores available on my computer, would it speed up my code even more if I dedicate <strong>n+1</strong> or more cores to this computation, as opposed to allocating <strong>n</strong> cores?</p>
  
  <pre><code>library(doParallel)
  library(foreach)
  
  cl &lt;- makeCluster(m) #using m cores
  registerDoParallel(cl)
  
  object &lt;– foreach(i = 1:n, ...) %dopar% {
  
  [...]
  } 
  
  stopCluster(cl)
  </code></pre>
  
  <p>I think no, but it all comes down to how foreach distributes work to the cores. Is it one iteration per core at a time or is the work subdivided even further?</p>
  
  <p>Thank you.</p>