Skip to content

Instantly share code, notes, and snippets.

@cjauvin
Created November 4, 2012 17:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cjauvin/4012764 to your computer and use it in GitHub Desktop.
Save cjauvin/4012764 to your computer and use it in GitHub Desktop.
import time
from math import sqrt
from joblib import Parallel, delayed
# Results obtained on my dual code Thinkpad laptop by using this modification:
# https://github.com/cjauvin/joblib/compare/parallel_job_batch
start = time.time()
Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 4.2 secs
start = time.time()
Parallel(n_jobs=2)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 16.8 secs
start = time.time()
Parallel(n_jobs=2, batch_size=2)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 9.6 secs
start = time.time()
Parallel(n_jobs=2, batch_size=10)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 3.4 secs
start = time.time()
Parallel(n_jobs=2, batch_size=100)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 1.9 secs
start = time.time()
Parallel(n_jobs=2, batch_size=1000)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 1.8 secs
start = time.time()
Parallel(n_jobs=2, batch_size=25000)(delayed(sqrt)(i**2) for i in xrange(50000))
print time.time() - start # 1.8 secs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment