Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^3: No Performance gain with Parallel::ForkManager

by RichardK (Parson)
on Feb 23, 2014 at 17:59 UTC ( #1075899=note: print w/replies, xml ) Need Help??

in reply to Re^2: No Performance gain with Parallel::ForkManager
in thread No Performance gain with Parallel::ForkManager

There's no need to be quite that verbose as Parallel::ForkManager handles the number of processes for you. So you can write that as :-

... my $pm = Parallel::ForkManager->new($num_of_cores); for my mp3 (@mp3s) { $pm->start and next; do_work($mp3); $pm->finish; } $pm->wait_all_children;

Replies are listed 'Best First'.
Re^4: No Performance gain with Parallel::ForkManager
by McA (Priest) on Feb 23, 2014 at 18:29 UTC

    Hi Richard,

    am I wrong or does your solution fork a child per file found?

    I wanted to give walto a snippet where I show how to spawn as many subprocesses as cores are available and the subprocesses working on a subqueue.

    The verbose code tries to show that the subprocesses iterate over the initially created array in a way that they can "share" (*) this array without doing work twice. Have I overseen something?

    UPDATE: It was an answer to the question "I can not find a simple way to split the loop into 2 (my no of cores) independent subprocesses...".

    Best regards

    (*) It's a copy in the subprocess.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1075899]
and the fire pops...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2017-10-19 11:29 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (252 votes). Check out past polls.