In [1]:
from multiprocessing import Pool
from itertools import repeat

In [9]:
def f((x, y, z)):
    return x + y * z

In [10]:
inputs = zip(range(10000), repeat(6), reversed(range(10000)))

In [11]:
inputs[:10]


Out[11]:
[(0, 6, 9999),
 (1, 6, 9998),
 (2, 6, 9997),
 (3, 6, 9996),
 (4, 6, 9995),
 (5, 6, 9994),
 (6, 6, 9993),
 (7, 6, 9992),
 (8, 6, 9991),
 (9, 6, 9990)]

In [12]:
time a=map(f, inputs)


CPU times: user 4 ms, sys: 0 ns, total: 4 ms
Wall time: 5.06 ms

In [13]:
p = Pool(processes=4)

In [14]:
%%time
b = p.map(f, inputs)
p.close()


CPU times: user 8 ms, sys: 0 ns, total: 8 ms
Wall time: 7.33 ms

In [17]:
zip(range(10), repeat(2), range(10), [5,6])


Out[17]:
[(0, 2, 0, 5), (1, 2, 1, 6)]

In [ ]: