++ed by:

18 PAUSE user(s)
10 non-PAUSE user(s).

Mario Roy
and 1 contributors


  • MCE - Many-Core Engine for Perl providing parallel processing capabilities
  • MCE::Core - Documentation describing the Core API for Many-Core Engine
  • MCE::Examples - A list of examples demonstrating Many-Core Engine


  • MCE::Flow - Parallel flow model for building creative applications
  • MCE::Grep - Parallel grep model similar to the native grep function
  • MCE::Loop - Parallel loop model for building creative loops
  • MCE::Map - Parallel map model similar to the native map function
  • MCE::Mutex - Simple semaphore for Many-Core Engine
  • MCE::Queue - Hybrid (normal and priority) queues for Many-Core Engine
  • MCE::Signal - Temporary directory creation/cleanup and signal handling
  • MCE::Step - Parallel step model for building creative steps
  • MCE::Stream - Parallel stream model for chaining multiple maps and greps
  • MCE::Subs - Exports functions mapped directly to MCE methods
  • MCE::Util - Utility functions for Many-Core Engine



Changes for version 1.600

    • Die handlers (in MCE::Signal and MCE::Core::Worker) are finally 100%. Furthermore, eval { die ... } statements behave correctly while running MCE itself inside an eval block. Thus, MCE on iPerl on top of iPython is possible via Devel::IPerl.
    • Fixed queues stalling from running (MCE::Queue fast => 1) on Linux.
    • MCE Models now set $MCE::FREEZE, $MCE::THAW, and $MCE::TMP_DIR when overriding freeze, thaw, and tmp_dir respectively at load time.
    • Pressing CTRL-D now ends STDIN the first time.
    • Added seven names to CREDITS; David Farrell, Demian Riccardi, Hisham Eldai, Joel Berger, Oleksandr Kharchenko, Wei Shen, and Zakariyya Mughal.
    • Refactored ->print, ->printf, and ->say. Optimized ->print some more.
    • Shorten $_queue to $_Q in Queue. ID is always sent first during IPC.
    • The init method in MCE Models can now take an array of options.
    • Optimized memory consumption in Handle.pm, Iterator.pm, and Request.pm.
    • Optimized memory consumption for ->sendto, ->do, and ->gather.
    • Optimized memory consumption for overall IPC in general.
    • Refreshed the MCE->new method.
    • Added a new module; MCE::Mutex providing simple semaphore.
    • Added ->relay_recv, ->relay, and ->relay_final methods to the Core API. Refreshed cat.pl and findnull.pl examples to relay the number of lines read. Workers output exclusively and orderly to STDOUT in cat.pl.
    • Added several examples; biofasta (folder), mutex.pl, and relay.pl. The FASTA examples process by records "\n>", not by lines.
    • MCE applies additional logic when RS begins with a newline character; e.g. RS => "\n>". It trims away characters after the newline and prepends them to the next record. This happens automatically when not slurping. Otherwise, the logic is applied to the first and last records only. This is illustrated in the Core API documentation.
    • Updated the Core API documentation (RS, added relay methods).