The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.600 - 2015-01-31

  • BUG FIXES
    • 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.
  • ENHANCEMENTS
    • 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.
  • NEW FEATURES
    • 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).

Documentation

Documentation describing the Core API for Many-Core Engine
A list of examples demonstrating Many-Core Engine

Modules

MCE
Many-Core Engine for Perl providing parallel processing capabilities
Parallel flow model for building creative applications
Parallel grep model similar to the native grep function
Parallel loop model for building creative loops
Parallel map model similar to the native map function
Simple semaphore for Many-Core Engine
Hybrid (normal and priority) queues for Many-Core Engine
Temporary directory creation/cleanup and signal handling
Parallel step model for building creative steps
Parallel stream model for chaining multiple maps and greps
Exports functions mapped directly to MCE methods
Utility functions for Many-Core Engine

Provides

in lib/MCE/Core/Input/Generator.pm
in lib/MCE/Core/Input/Handle.pm
in lib/MCE/Core/Input/Iterator.pm
in lib/MCE/Core/Input/Request.pm
in lib/MCE/Core/Input/Sequence.pm
in lib/MCE/Core/Manager.pm
in lib/MCE/Core/Validation.pm
in lib/MCE/Core/Worker.pm

Examples