now = 3
p = Pool(now)
array_file_name = 'test.array'
shape = 250000, 250000
a = np.memmap(array_file_name, shape=shape, mode='w+')
del a
cols = [[shape[1] * i / nop, shape[1] * (i + 1) / nop] for i in range(nop)]
results = []
for c1, c2 in cols:
    r = p.apply_async(mysum, args=(array_file_name, c1, c2, shape))
results.append(r)
p.close()
p.join()
final_result = sum([r.get() for r in results])
print(final_result)
Python multiprocessing is taking much longer than single processing