def numpy_sin(value):
    return numpy.sin(value)
a = [numpy.arange(100000) for _ in range(10)]
pool = Pool(processes=5)
start = time.time()
result = numpy.sin(a)
end = time.time()
print('Singled threaded %f' % (end - start))
start = time.time()
result = pool.map(numpy_sin, a)
pool.close()
pool.join()
Parallelizing a Numpy vector operation