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

1.403 Sun Feb 17 15:00:00 EST 2013
    * Wrap sub PDL::CLONE_SKIP into a no warnings 'redefine' block
      MCE now works with PDL::Parallel::threads without any warnings
    * Added missing examples/matmult/matmult_pdl_n.pl to MANIFEST
    * Refactored strassen examples, memory consumption reduced by > than 50%
    * Added matmult_pdl_o.pl -- uses PDL::Parallel::threads to share matrices
    * Added matmult_pdl_p.pl -- matrix b is read from shared memory, not mmap
    * Added strassen_pdl_n.pl -- additional improvements to memory reduction
    * Added strassen_pdl_h.pl -- shown running with 4 workers (half and half)
    * Re-ran matrix multiplication examples and updated results in README file
    * Added -no_setpgrp option to MCE::Signal.pm
      Ctrl-C does not respond when running /usr/bin/time mce_script.pl
    * Added undef $buffer in a couple of places within MCE.pm
    * Added David Mertens and Adam Sjøgren to CREDITS
    * The send method now checks if sending > total workers after spawning
      not before

1.402 Thr Feb 14 07:30:00 EST 2013
    * Updated matrix multiplication examples including README
    * Added examples/matmult/matmult_pdl_n.pl

1.401 Tue Feb 12 19:00:00 EST 2013
    * Added sub PDL::CLONE_SKIP { 1 } to MCE.pm. Running PDL + MCE threads no
      longer crashes during exiting.
    * Updated matrix multiplication examples. All examples now work under the
      windows environment no matter if threading or forking. Unix is stable as
      well if wanting to use PDL + MCE and use_threads => 1 or 0.
    * Added benchmark results for 2048x2048, 4096x4096, and 8192x8192 to the
      README file under examples/matmult/
    * Updated documentation

1.400 Mon Feb 11 07:00:00 EST 2013
    * Slight optimization in the _do_callback method
    * Added 2 new options: user_args and RS (record separator)
    * Added new send method for sending data to workers after spawning and
      prior to running
    * The sequence option can now take an ARRAY reference
    * Updated documentation on new features
    * Added matrix multiplication examples

1.306 Sat Jan 05 18:00:00 EST 2013
    * Added if statement around setpgrp(0,0). That function is not supported
      under Windows.
    * Updated logic for removing any remaining MCE session directories inside
      MCE::Signal.

1.305 Sat Jan 05 16:00:00 EST 2013
    * Added check for $^S to the DIE handler inside the _worker_main method
    * Added setpgrp(0,0) to MCE::Signal's BEGIN block
    * MCE::Signal points to a _mce_sess_dir hash in the event of a signal,
      will remove the sess_dir(s) as well. This is needed when tmp_dir is
      specified during instantiation and pointing to another location than
      MCE::Signal::tmp_dir.

1.304 Wed Jan 02 22:00:00 EST 2013
    * Added Oliver Gorwits to CREDITS for identifying 2 issues
    * Direct die to CORE::die inside handler if executing an eval
    * Undef $mce_spawned_ref if signal was caught (stop_and_exit)
    * Changed INIT to sub import in MCE.pm

1.303 Tue Jan 01 20:00:00 EST 2013
    * Bump version -- MCE.pm VERSION now matches with META.yml
    * Sorted forchunk, foreach, forseq methods inside MCE.pm
    * Modified if statement in run method
    * Task ID is never undef, therefore removed check inside
      restart_worker and worker_do methods
    * Added 2 package variables to MCE::Signal
      $display_die_with_localtime and $display_warn_with_localtime
    * Completed updates to documentation
    * Update to forseq.pl and seq_demo.pl examples

1.302 Tue Jan 01 07:30:00 EST 2013
    * Fixed validation logic for sequence
    * Updated the sequence generator -- now supports chunking
    * Updated seq_demo.pl example to demo user_tasks, sequence, and
      chunk_size applied together
    * Documentation updates

1.301 Mon Dec 31 15:00:00 EST 2012
    * Emphasis on documentation -- better flow plus additional clarity
    * Minor update to sequence option validation
    * Minor update to included examples

1.300 Mon Dec 31 06:00:00 EST 2012
    * New methods...: chunk_size, restart_worker, task_id, task_wid, tmp_dir
    * New options...: on_post_exit, on_post_run, sequence
    * New examples..: forseq.pl, seq_demo.pl
    * Overhaul to exit method
      Workers can exit or die without impacting the manager process
    * Enabled executable bit for test files
    * Removed localtime output in die and warn handlers
    * All 3 delay options are consistent whether or not user_tasks is specified
    * Removed logic around total_ended count -- replaced with new exit logic
    * Code refactoring plus documentation updates
    * Added LICENSE file

1.201 Fri Dec 21 00:00:00 EST 2012
    * Added MCE.pod -- moved documentation from MCE.pm to pod file
    * Added missing use strict/warnings to test scripts
    * Default to 1 for chunk_size and max_workers if not specified
    * Test::More is not a requirement to run MCE, only for building
    * Changed the format for the change log file

1.200 Thu Dec 20 00:00:00 EST 2012
    * Added new user_tasks option
    * Added space between method name and left-paren for header lines in POD
    * Remove not-needed BSD::Resource and forks inside BEGIN/INIT blocks

1.106 Wed Dec 19 05:00:00 EST 2012
    * Added t/pod-coverage.t
    * Big overhaul of the MCE documentation -- all methods are documented
    * Croak if method suited for a MCE worker is called by the main MCE process
    * Croak if method suited for the main MCE process is called by a MCE worker
    * Updated Makefile.PL to declare the minimum Perl version

1.105 Sun Dec 16 23:00:00 EST 2012
    * Completed code re-factoring
    * Added t/pod.t

1.104 Sun Nov 25 17:00:00 EST 2012
    * Added 1 new example to MCE's Perl documentation
    * Use module::method name versus constant symbol when calling _croak
    * Croak if session directory is not writeable inside MCE::spawn
    * Renamed _mce_id to _mce_sid (met to be spawn id actually)
    * Re-calibrated maximum workers allowed

1.103 Fri Nov 23 13:00:00 EST 2012
    * Added writeable check on /dev/shm
    * Croak if tmp dir is not writeable inside MCE::Signal::import

1.102 Thu Nov 22 13:00:00 EST 2012
    * Woohoot !!! MCE now passes with Perl 5.17.x
    * Added Copying file -- same as in Perl

1.101 Wed Nov 21 16:00:00 EST 2012
    * Shifted white space to the left for code blocks inside documentation

1.100 Wed Nov 21 10:00:00 EST 2012
    * Completed optimization and shakeout for MCE's existing API
    * File handles are cached when calling sendto and appending to a file
    * The sendto method now supports multiple arguments -- see perldoc
    * Added new option: flush_file

1.008 Sat Nov 17 23:00:00 EST 2012
    * Update on __DIE__ and __WARN__ handling in MCE. This addresses the 
      unreferenced scalars seen in packaging logs at activestate.com for
      Perl under Windows: http://code.activestate.com/ppm/MCE/
    * Update t/01_load_signal_arg.t -- added check for $ENV{TEMP}
      This fixes issue seen under Cygwin

1.007 Thu Nov 15 21:30:00 EST 2012
    * At last, the "Voila" release :)
    * Small change to __DIE__ and __WARN__ signal handling for spawn method

1.006 Thu Nov 15 03:30:00 EST 2012
    * Added description section to MCE::Signal's Perl doc
    * Do not set trap on __DIE__ and __WARN__ inside MCE::Signal
    * Localized __DIE__ and __WARN__ handlers inside MCE instead
    * Clarify the use of threads in documentation

1.005 Tue Nov 13 06:11:00 EST 2012
    * Removed underscore from package globals in MCE::Signal
    * Optimized _worker_read_handle method in MCE
    * Updated files under examples/tbray/

1.004 Mon Nov 12 01:50:00 EST 2012
    * Updated examples/mce_usage.readme
    * Updated examples/wide_finder.pl
    * Added examples/tbray/README
    * Added examples/tbray/tbray_baseline1.pl
    * Added examples/tbray/tbray_baseline2.pl
    * Added examples/tbray/wf_mce1.pl
    * Added examples/tbray/wf_mce2.pl
    * Added examples/tbray/wf_mce3.pl (../wide_finder.pl moved here)
    * Added examples/tbray/wf_mmap.pl

1.003 Sat Nov 10 12:55:00 EST 2012
    * Updated README
    * Updated images/06_Shared_Sockets.gif
    * Updated images/10_Scaling_Pings.gif
    * Added   images/11_SNMP_Collection.gif
    * Small update to MCE::Signal

1.002 Thu Nov 08 01:13:10 EST 2012
    * Renamed continue method to next

1.001 Wed Nov 07 23:58:20 EST 2012
    * Added perl-MCE.spec to trunk
      http://code.google.com/p/many-core-engine-perl/source/browse/trunk/
    * Added CREDITS
    * Added 3 new methods to MCE.pm: continue, last, and exit
    * Both foreach & forchunk now call run(1, {...}) to auto-shutdown workers

1.000 Mon Nov 05 10:00:00 EST 2012
    * First release