python script is slowly after use multiprocessing
MRAB
python at mrabarnett.plus.com
Mon Jul 3 16:40:49 EDT 2017
On 2017-07-03 20:47, Xristos Xristoou wrote:
> i have create an image processing python function.
>
> my system have 4 cores + 4 threads.
>
> i want to use multiprocessing to speed up my function,but anytime to use multiprocessing packages my function is not faster and is 1 minute slowly. any idea why ?first time use multiprocessing packages.
>
> main function :
>
> if __name__ == '__main__':
> in_path="C:/Users/username/Desktop/in.tif"
> out_path="C:/Users/username/Desktop/out.tif"
> myfun(in_path, out_path)
> time=3.4 minutes
>
> with multiprocessing map :
>
> if __name__ == '__main__':
> p = Pool(processes=4)
> in_path="C:/Users/username/Desktop/in.tif"
> out_path="C:/Users/username/Desktop/out.tif"
> result = p.map(myfun(in_path,out_path))
> time=4.4 minutes
>
> if __name__ == '__main__':
> pool = multiprocessing.Pool(4)
> in_path="C:/Users/username/Desktop/in.tif"
> out_path="C:/Users/username/Desktop/out.tif"
> pool.apply_async(myfun, args=(in_path,out_path,))
> pool.close()
> pool.join()
> time=4.5 minutes
>
It looks like you have one function performing one task. It's not
splitting the task into multiple parts that can be run in parallel on
multiple cores.
More information about the Python-list
mailing list