cpan MCE 1.699_012

latest releases: 1.897, 1.896, 1.895...
pre-release8 years ago

[BUG FIXES]

  • Fixed race condition on Windows for non-threaded workers.

  • Updated MCE Models to not fail when running inside an eval statement.
    This addresses [#105557] and [#105559]. Thank you, Benjamin McKeown.

  • Added new MCE option loop_timeout to prevent the MCE Manager process
    from hanging perpetually. The manager process wrongly assumes a worker
    is still running when the worker died in an uncontrollable manner.
    This resolves [#111780]. Thank you, Benjamin McKeown.

[ENHANCEMENTS]

  • Perl 5.10.1 or later is required to run MCE 1.7. Perl < 5.10.1 lacks
    'overloading.pm'.

  • Added code in MCE::Grep's documentation for parsing huge files.

  • Added support for running MCE with Perl under MobaXterm on Windows.

  • MCE/examples and MCE/images are no longer included with the distribution.
    These are maintained separately at https://github.com/marioroy/mce-examples
    and https://github.com/marioroy/mce-assets respectively.

  • MCE performs channel locking via a pipe or socket depending on platform.
    Previously, locking was through file locking using flock. This resolves
    the slow locking performance on Cygwin.

  • Optimized signal handling including improved support on Windows.

  • Reduced overhead during spawning and job submissions on Windows and Cygwin.
    This enables IPC to complete up to 20x faster, thus benefiting Monte-Carlo
    simulations; e.g. calling ->run(0) or ->process(...) repeatedly.

  • The MCE::Flow and MCE::Step Models can take an anonymous array for
    specifying use_threads uniquely for sub-tasks.

[NEW FEATURES]

  • Added MCE::Hobo for running code asynchronously. This provides async/join
    functionality for processes similarly to async/join in threads. It includes
    ->exit, ->kill, ->is_joinable, ->is_running, ->list, and more.

  • Added MCE::Shared for sharing objects/data between threads/processes.

  • Added MCE::Shared::{ Array, Handle, Hash, Ordhash, and Scalar }.

  • Added MCE::Shared::{ Condvar, Minidb, Queue, and Sequence }.

  • Added MCE::Shared::{ Server }.

  • Added methods ->await, ->enq, and ->enqp to MCE::Step.

  • Added method ->await to MCE::Queue.

  • Added option max_retries => N for retrying a failed chunk from a worker
    dying while processing input data or sequence of numbers.

  • Added option posix_exit => 1 to avoid END and destructor processing.
    This is necessary for running with Tk and child processes or with
    use_threads => 0.

  • Seeds the Math::Random generator automatically when present for non-threads
    to avoid child processes sharing the same seed value as the parent and
    each other. The new seed is computed using the current seed. Thus, okay
    to set the seed at the application level for predictable results.

Don't miss a new MCE release

NewReleases is sending notifications on new releases.