In [4]:
from joblib import Parallel, delayed
import time, math

def my_fun(i):
    time.sleep(1)
    return i

num = 10
start = time.time()
for i in range(num):
    my_fun(i)
end = time.time()
print(end-start)
10.079007148742676
In [6]:
start = time.time()
# n_jobs is the number of parallel jobs which has been set to 2
Parallel(n_jobs=2)(delayed(my_fun)(i) for i in range(num))
end = time.time()
print(end-start)
5.043555736541748
In [ ]: