Ответ 1
Parallel::ForkManager, как говорит POD, может ограничить количество процессов, отколовшихся. Затем вы можете использовать детей для выполнения любой работы. Я помню, как использовал модуль для загрузчика.
Какой лучший модуль для параллельного процесса в Perl? Я никогда не делал параллельной обработки в Perl.
Что такое хороший модуль Perl для параллельного процесса, который будет использоваться в доступе и рассылке БД?
Я посмотрел в модуле Parallel:: ForkManager. Любая идея ценится.
Parallel::ForkManager, как говорит POD, может ограничить количество процессов, отколовшихся. Затем вы можете использовать детей для выполнения любой работы. Я помню, как использовал модуль для загрузчика.
Ну, все зависит от конкретного случая. В зависимости от того, чего вы точно должны достичь, вам может быть лучше с одним из следующих:
Для некоторых задач есть также специализированные модули - например LWP::Parallel::UserAgent, что в основном означает - вы должны дать нам гораздо больше информации о что вы хотите достичь, чтобы получить наилучший ответ.
В CPAN размещен многоядерный движок для Perl (MCE).
http://code.google.com/p/many-core-engine-perl/
https://metacpan.org/module/MCE
MCE поставляется с различными примерами, демонстрирующими сценарии использования в реальных ситуациях для распараллеливания чего-либо столь же маленького, как cat (попробуйте с -n) для greping для шаблонов и агрегации слов.
barrier_sync.pl
A barrier sync demonstration.
cat.pl Concatenation script, similar to the cat binary.
egrep.pl Egrep script, similar to the egrep binary.
wc.pl Word count script, similar to the wc binary.
findnull.pl
A parallel driven script to report lines containing
null fields. It is many times faster than the binary
egrep command. Try against a large file containing
very long lines.
flow_model.pl
Demonstrates MCE::Flow, MCE::Queue, and MCE->gather.
foreach.pl, forseq.pl, forchunk.pl
These take the same sqrt example from Parallel::Loops
and measures the overhead of the engine. The number
indicates the size of @input which can be submitted
and results displayed in 1 second.
Parallel::Loops: 600 Forking each @input is expensive
MCE foreach....: 34,000 Sends result after each @input
MCE forseq.....: 70,000 Loops through sequence of numbers
MCE forchunk...: 480,000 Chunking reduces overhead
interval.pl
Demonstration of the interval option appearing in MCE 1.5.
matmult/matmult_base.pl, matmult_mce.pl, strassen_mce.pl
Various matrix multiplication demonstrations benchmarking
PDL, PDL + MCE, as well as parallelizing Strassen
divide-and-conquer algorithm. Also included are 2 plain
Perl examples.
scaling_pings.pl
Perform ping test and report back failing IPs to
standard output.
seq_demo.pl
A demonstration of the new sequence option appearing
in MCE 1.3. Run with seq_demo.pl | sort
tbray/wf_mce1.pl, wf_mce2.pl, wf_mce3.pl
An implementation of wide finder utilizing MCE.
As fast as MMAP IO when file resides in OS FS cache.
2x ~ 3x faster when reading directly from disk.
Вы также можете посмотреть потоки, Coro, Parallel:: итератор.