Advice regarding multiprocessing module
Dave Angel
davea at davea.name
Mon Mar 11 07:27:28 EDT 2013
On 03/11/2013 01:57 AM, Abhinav M Kulkarni wrote:
>
>
> <SNIP>
> * My laptop has quad-core Intel i5 processor, so I thought using
> multiprocessing module I can parallelize my code (basically
> calculate gradient in parallel on multiple cores simultaneously).
<SNIP>
> * As a result I end up creating a process for each data point (instead
> of a thread that I would ideally like to do, so as to avoid process
> creation overhead).
Seems you only need 4 processes, as you have 4 cores. Instead of
creating a new one each time, reuse the same 4 processes, letting each
do a quarter of the data.
It's not the process creation that's particularly slow, but all the
initialization of starting another instance of Python. If you're on
Linux, you might be able to speed that up by using fork, but I don't
specifically know.
--
DaveA
More information about the Python-list
mailing list