- New upstream release 1.841
- Disabled t/04_channel_threads testing on Unix platforms for Perl less than
5.10.1; basically, the MCE::Channel::Threads implementation is not supported
on older Perls unless the OS vendor applied upstream patches (i.e. works on
RedHat/CentOS 5.x running Perl 5.8.x)
- Added LIMITATIONS section to MCE::Channel::Threads
- New upstream release 1.840
New Features
- Added MCE::Mutex::Channel2 providing two locks using a single channel; the
secondary lock is accessible by calling methods with the '2' suffix, e.g.
primary mutex ->lock, ->unlock; secondary mutex ->lock2, ->unlock2
- Added MCE::Channel providing queue-like and two-way communication
supporting threads and processes
- Added MCE::Child and compatibility with Perl 5.8; MCE::Child is based on
MCE::Hobo, but using MCE::Channel for data retrieval without involving a
shared-manager process
- Added MCE::Channel examples { channel1.pl and channel2.pl } using threads
and MCE::Child respectively
Enhancements
- IPC update; removed unnecessary overhead including private methods _sysseek
and _syswrite from MCE::Util (no longer needed)
- Improved MCE->do, now callable by workers and the manager process
- Updated MCE::{ Flow, Grep, Loop, Map, Step, and Stream } documentation on
passing an array reference versus a list for deeply input data
- Updated and re-organized the top-level MCE documentation, particularly
improved clarity for the 'MCE Models' section
- Removed MANIFEST.SKIP
- Update MCE::Channel POD documentation
- New upstream release 1.838
- IPC update, raising reliability across multiple platforms
- Improved hack for the Windows platform for nested MCE sessions
- Added _sysread, _sysseek, _syswrite, and _nonblocking to MCE::Util
- Added barrier option to MCE::Queue: allows one to disable
- New upstream release 1.837
- Seeds the Math::Random::MT::Auto generator automatically when present for
non-threads, similarly to Math::Random and Math::Prime::Util, to
avoid child processes sharing the same seed value as the parent and
each other; the new seed is computed using the current seed
- New upstream release 1.834
- Improved Queue await and dequeue performance on the Windows platform
- Added chameneos-redux parallel demonstrations on Github:
https://github.com/marioroy/mce-examples/tree/master/chameneos
- Rebase Sereal-deps patch
- New upstream release 1.832
- Added LWP::UserAgent to list for enabling posix_exit
- Improved number-sequence generation for big integers
- Improved wantarray support in MCE::Mutex synchronize
- Removed limit check on chunk_size option
- New upstream release 1.830
Bug Fixes
- Fixed MCE and MCE::Relay stalling when setting the input record separator
(see http://www.perlmonks.org/?node_id=1196701)
- Fixed bug with dequeue_nb in MCE::Queue (GH#8)
- Fixed signal handler (GH#9)
Enhancements
- Added Coro and Win32::GUI to list for enabling posix_exit
- Added support for Haiku to get_ncpu in MCE::Util
- Allow gathering to a shared array in MCE::Candy
- Improved CPU count on the AIX platform in MCE::Util
- Improved signal handling, including nested parallel-sessions
- Improved running MCE::Hobo inside MCE workers
- Improved running MCE with PDL
- Refactored logic for MCE->do, bi-directional callback feature
- Preserve lexical type for numbers during IPC: MCE->do and MCE::Queue
- No longer loads threads on the Windows platform in MCE::Signal; this
enables MCE::Hobo 1.827 to spin faster, including lesser memory
consumption (threads isn't required to run MCE::Hobo)
- Removed extra white-space from POD documentation
- Validated MCE on SmartOS
- Rebase Sereal-deps patch
- New upstream release 1.828
- Do not enable barrier mode for Queue on the Windows platform
- Fixed MCE::Mutex::Flock, tmp_file missing script name in path
- Added Curses and Prima to list for enabling the posix_exit option
- Allow a hash as input_data: Core API, MCE::{ Flow, Loop, Step }
- Improved API documentation on MCE models with more synopsis
- Enhanced IPC and signal handling, reduced memory consumption
- Make tmp_dir on demand in MCE::Signal; ditto for sess_dir in MCE
- Load Fcntl, File::Path, Symbol on demand
- New upstream release 1.827
- Do not enable barrier mode in Queue if constructed inside a thread or by
MCE Model (e.g. Step, Stream); ditto for fast => 1 option
- Updated MCE not to croak when running Perl in taint mode via perl -T;
failing -T were MCE::Core::Input::{ Generator, Sequence }, MCE::Signal and
MCE::Util
- Added Denis Fateyev, Felipe Gasper and Paul Howarth to Credits
- New upstream release 1.826
- Performance improvements in MCE::Queue
- Is now safe running MCE with the Wx GUI toolkit (wxWidgets)
- BR:/R: perl(Sereal) unconditionally
- New upstream release 1.824
- Check for EINTR during sysread and syswrite
- Improved reliability when running nested MCE sessions
- Updated MCE::Mutex with Channel and Fcntl implementations
- Calibrated the number of data-channels for IPC
- Completed validation for using MCE with 200+ cores
- Completed validation for running MCE on a box having 100+ cores
- Tuned the number of data-channels for IPC, setting upper limit in
MCE::Core::Input::{ Handle and Sequence } to not impact the OS kernel; the
result is better performance, yet graceful
- New upstream release 1.821
- Improved reliability when running MCE with threads
- Added parallel Net::Pcap and Ping demonstrations on Github:
https://github.com/marioroy/mce-examples/tree/master/network
- Optimized 'dequeue' method in MCE::Queue
- Optimized 'synchronize' method in MCE::Mutex
- New upstream release 1.818
- Updated bin/mce_grep for determining chunk level and chunk size
- Fixed an issue for not seeing STDERR output with '--chunk-level=file'
- Added support for zgrep, zegrep, and zfgrep
- Replaced Sereal with Sereal::Decoder and Sereal::Encoder in Makefile,
inside recommends section; ditto for META files
- Refactored MCE::Queue: merged local and manager code base into one
- Removed t/04_norm_que_local.t and t/04_prio_que_local.t
- Added 'end' method to MCE::Queue
- Updated documentation on dequeue and pending
- Add symlinks for mce_grep variants
- New upstream release 1.817
- Revised the description of max_retries in MCE::Core.pod
- Improved bin/mce_grep with -r parameter:
- If no paths are given, start recursively in the current directory
rather than await data from STDIN
- Set chunk-level accordingly to list mode
- New upstream release 1.815
- Fixed divide-by-zero error in MCE->yield
- Refactored code for the interval option by moving the code to the manager
process, which allows the manager process to accomodate the next available
worker ready to run; previously, a worker taking a long time resulted in
empty time slots
- Revised the description of posix_exit in MCE::Core.pod
- New upstream release 1.813
- Added progress option, a code block for receiving info on progress made;
see MCE::Core.pod for demonstrations accommodating all input data types
- New upstream release 1.812
- Bumped minimum requirement for Sereal to 3.015 when available; added
regression ensuring matching version for Encoder and Decoder
- Add patch to avoid unintentional hard dependencies on Sereal
- New upstream release 1.811
- Fixed bug in MCE::Queue (dequeue_nb) when queue has zero items
- Applied small optimization in MCE::Core::Input::Sequence and Generator
- Added cross-platform template to MCE::Examples for making an executable
- Removed signal handling for XCPU and XFSZ from MCE::Signal
- Imply posix_exit => 1 if Gearman::XS or Gearman::Util is present during
MCE construction
- Added MCE + Gearman demonstrations (xs and non-xs) on Github:
https://github.com/marioroy/mce-examples/tree/master/gearman_xshttps://github.com/marioroy/mce-examples/tree/master/gearman
- Changed kilobytes and megabytes to kibiBytes (KiB) and mebiBytes (MiB)
respectively inside the documentation
- New upstream release 1.807
- Enhanced relay capabilities
- Added Mandelbrot example to MCE::Example
- Added extra demonstrations to MCE::Relay
- Added test script
- Tweaked manager-loop delay for special cases - applies to MSWin32 only
- New upstream release 1.804
- Removed the sleep statement in MCE->restart_worker
- Added FCGI::ProcManager demonstrations to MCE::Examples
- Automatically set posix_exit to 1 whenever (F)CGI.pm is present
(https://github.com/marioroy/mce-perl/issues/1)
- New upstream release 1.802
- Default to Storable for serialization in Perl less than v5.12.0;
Sereal 3.008+, if available, is loaded automatically in Perl v5.12+
- New upstream release 1.801
- Fixed race condition in Queue->await
- MCE 1.801 is stable on all supported platforms
- Completed work supporting cyclical include of MCE Core / Models
- Updated MCE to support Perl included with Git Bash
- Renamed temp dir from 'mce' to 'Perl-MCE' under user's %%TEMP%% location on
Windows, e.g. Native Perl, Cygwin, Git Bash
- BR: perl-generators unconditionally
- New upstream release 1.800
- Fixed dequeue (count) in MCE::Queue for standalone mode
- On Windows, improved stablity and feature parity with UNIX
- Use Sereal 3.008+ automatically if available on the box
- Added support for cyclical include of MCE Core, MCE Models, and MCE Queue
by scoping the configuration to the local package (CPAN RT#107384)
- New upstream release 1.708
- Improved import routine in MCE Models and MCE::Subs; this resolves an issue
where functions are not exported; e.g. mce_flow, mce_flow_s
- Added support for IO::TieCombine handles, which enables MCE->print and
MCE->sendto to work reliably with App::Cmd and App::Cmd::Tester; see
Testing and Capturing Output in MCE::Examples
- New upstream release 1.707
- Fixed logic when workers exit; improved reliability on Windows
- Applied MCE-1.700-provides.patch from Red Hat
- Added META.json to the distribution
- BR: perl-generators where available
- Drop upstreamed provides patch