title: Efficiency of using multiprocessing in a single processsor
body: <p>I plan to write a Python program using Python's <code>multiprocessing</code>.  The program is to run on a 4-core machine. The core calculation of the program looks like this:</p>
  
  <pre><code>for i in range(1000):
      p = multiprocessing.Process(target=worker)
      p.start()
  </code></pre>
  
  <p>in which worker() refers to a time-consuming procedure. </p>
  
  <h1>Question</h1>
  
  <p>In theory, will the using of multiprocessing slow down the whole program compared with the sequential version?</p>
  
  <pre><code>for i in range(1000):
     worker()
  </code></pre>
  
  <p>Thanks.</p>