什么是Perl中并行处理的最佳模块?

时间:2009-07-06 14:28:37

标签: perl parallel-processing

Perl中并行进程的最佳模块是什么?我从未在Perl中完成并行处理。

什么是用于DB访问和邮件的并行进程的Perl模块?

我查看过模块Parallel::ForkManager。任何想法都赞赏。

4 个答案:

答案 0 :(得分:13)

正如POD所说,

Parallel::ForkManager可以限制分叉的进程数量。然后你可以让孩子们做任何工作。我记得使用该模块作为下载程序。

答案 1 :(得分:13)

嗯,这一切都取决于具体情况。根据您需要实现的目标,您可能会更好地使用以下方法之一:

对于某些任务,还有专门的模块 - 例如LWP::Parallel::UserAgent,这基本上意味着 - 您必须向我们提供有关您希望获得最佳答案的更多详细信息。

答案 2 :(得分:9)

许多核心引擎for Perl(MCE)已发布在CPAN上。

http://code.google.com/p/many-core-engine-perl/

https://metacpan.org/module/MCE

MCE附带了各种示例,显示了实际的用例场景,可以将像cat一样小的东西(尝试使用-n)与greting模式和字数统计聚合并行化。

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.

答案 3 :(得分:4)

您还可以查看主题CoroParallel::Iterator