python script is slowly after use multiprocessing
Ben Bacarisse
ben.usenet at bsb.me.uk
Mon Jul 3 16:44:35 EDT 2017
Xristos Xristoou <saxri89 at gmail.com> writes:
> 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))
Don't you get an error telling you that map needs another argument?
map is intended to be used like this:
p.map(f, [1, 2, 3])
the function is applied to the elements drawn from the iterable second
argument. Each application runs in a separate process form the pool and
the results are combined together into a list result.
So you could process multiple file in parallel using this method but it
can't run your function on that one input file in parallel.
<snip>
--
Ben.
More information about the Python-list
mailing list