title: Scipy's differential_evolution not running in multiple cores despite setting the workers parameter
body: <p>I want to run in multiple cores scipy's <code>differential_evolution</code> function with the <code>workers</code> parameter.</p>
  <p>I have followed the instructions of the <a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html" rel="nofollow noreferrer">documentation</a> and developed the following script to check the running time of the function both with and without the use of the <code>workers</code> parameter:</p>
  <pre><code>import time
  
  if __name__ == '__main__':
      from scipy.optimize import differential_evolution, rosen
      bounds = [( 0, 2 ), ( 0, 2 ), ( 0, 2 ), ( 0, 2 ), ( 0, 2 )]
  
      print( 'Beginning optimisation without parallelisation' )
      start = time.time()
      result = differential_evolution( rosen, bounds,
                                       workers=1,
                                       popsize=200,
                                       maxiter=1000,
                                       tol=0.001,
                                       seed=1 )
      end = time.time()
      print( 'Optimisation finished after {} seconds'.format( round( end - start, 2 ) ) )
  
      print( '\nBeginning optimisation with workers parameter set to 10' )
      start = time.time()
      result = differential_evolution( rosen, bounds,
                                       updating='deferred',
                                       workers=10,
                                       popsize=200,
                                       maxiter=1000,
                                       tol=0.001,
                                       seed=1 )
      end = time.time()
      print( 'Optimisation finished after {} seconds'.format( round( end - start, 2 ) ) )
  </code></pre>
  <p>After running the script, these are the running times returned for each call:</p>
  <pre><code>Beginning optimisation without parallelisation
  Optimisation finished after 59.0 seconds
  
  Beginning optimisation with workers parameter set to 10
  Optimisation finished after 60.43 seconds
  </code></pre>
  <p>As you can see, the execution with the workers parameter set to 10 is even slower than the first one. Can you help me with this? Is there anything else that I need to do in order to implement the parallelisation in the <code>differential_evolution</code> function?</p>
  <p>I am currently using Python 3.8 and my <code>scipy</code> version is 1.8.1.</p>