title: Python multiprocessing on a map
body: <p>I have just studied this docu part <a href="https://docs.python.org/2/library/multiprocessing.html" rel="nofollow noreferrer">enter link description here</a></p>
  
  <p>So as far as I understood this function</p>
  
  <pre><code>import multiprocessing
  pool = multiprocessing.Pool()
  print pool.map(f, range(10))
  </code></pre>
  
  <p>would create a chunk of task which number is equivalent to the number of cores. And the result will be on the same order as it got the input from the sequnze.</p>
  
  <p>The docu says also <code>--- will block till complete:</code></p>
  
  <p>Lets imagine f above is a complex function. We have 4 CPUS and a therefor a chunk size of 4, does it block until <strong>all</strong> 4 will have finished and only then get the next chunk?</p>
  
  <p>So in worse case 3 free cores would idle a long time until that last one will finish?</p>