Revision history for Perl module MCE::Shared.
1.893 Mon Sep 09 20:30:00 EST 2024
* Improve MCE::Hobo exiting when signaled.
1.892 Wed Aug 21 15:30:00 EST 2024
* Fix for MCE::Hobo, Can't call method "len" on an undefined value
during global destruction. Thanks, @exodist.
1.891 Wed Jun 19 22:00:00 EST 2024
* In scalar context, MCE::Hobo->init returns a guard to call finish
automatically upon leaving the { scope i.e. omitting finish }.
1.890 Sun Jun 09 01:00:00 EST 2024
* Revert back to calling CORE::rand() to set the internal seed.
MCE::Hobo cannot assume the srand or setter function used by the
application for predictability.
1. https://perlmonks.org/?node_id=11159834
2. https://perlmonks.org/?node_id=11159827
* Add class method MCE::Hobo->seed to retrieve the seed.
1.889 Sun Jun 09 15:30:00 EST 2024
* Improve support for PDL.
1.888 Fri Jun 06 04:00:00 EST 2024
* Apply workaround for PDL::srand in MCE::Hobo. Thank you, PerlMonks.
https://www.perlmonks.org/?node_id=11159773
* Add PDL::srand (v2.062 ~ v2.089) and PDL::srandom (v2.089_01+).
1.887 Fri May 24 19:00:00 EST 2024
* Improve reaping completed workers in MCE::Hobo.
1.886 Wed Sep 13 18:00:00 EST 2023
* Add Android support. This required moving MCE::Shared::Base::Common
out of MCE::Shared::Base to separate file MCE::Shared::Common.
* Bump MCE dependency to 1.889.
1.885 Fri Jun 09 08:00:00 EST 2023
* Fix typo in Queue dequeue_timed documentation.
Thank you, Łukasz Strzelecki.
1.884 Thu Jun 08 04:00:00 EST 2023
* Add missing return statement(s) in Condvar and Queue.
* Move tests for condvar timedwait to xt/condvar_timedwait.t
1.883 Tue Jun 06 18:00:00 EST 2023
* Remove unused Queue vars in MCE::Shared::Server, since 1.867.
1.882 Tue Jun 06 12:00:00 EST 2023
* Bump MCE dependency to 1.886.
* Added dequeue_timed method to MCE::Shared::Queue.
* Fixed taint mode in MCE::Shared::Sequence _sprintf.
1.881 Tue May 30 20:00:00 EST 2023
* Bump MCE dependency to 1.885.
* Improved reliability on the Windows platform.
1.880 Tue Jan 03 20:00:00 EST 2023
* Bump MCE dependency to 1.883.
* Improved 05_mce_hobo.t test.
1.879 Fri Dec 02 21:00:00 EST 2022
* Update the error status if MCE::Hobo died due to receiving a signal.
* Improved the timeout handler in MCE::Hobo and MCE::Shared::Condvar.
* Fixed private functions _quit and _trap not setting the return value.
1.878 Mon Oct 10 04:00:00 EST 2022
* Improved reliability on the Windows platform.
* Added deeply-shared demonstration to POD.
1.877 Tue May 24 05:00:00 EST 2022
* Replace http with https in documentation and meta files.
* Call PDL::set_autopthread_targ(1); disables PDL auto-threading.
* Allow sharing additional PDL objects via class methods:
pdl_sbyte, pdl_ulong, pdl_ulonglong, pdl_ldouble, pdl_grandom,
and pdl_zero.
1.876 Sun Feb 20 02:30:00 EST 2022
* Improved suppressing the PDL CLONE warning. Piddles should not be
naively copied into new threads.
1.875 Fri Dec 03 06:30:00 EST 2021
* Resolved edge case with _fill_index in MCE::Shared::Ordhash.
Updated STORE, DELETE, and internal _fill_index.
Added tests to t/07_shared_ordhash.t.
1.874 Thu Dec 02 18:00:00 EST 2021
* Bumped MCE dependency to 1.874.
* MCE::Hobo update.
Improved _ordhash.
Renamed JOINED to REAPED in code for better clarity.
Specify a percentage for max_workers.
Added t/05_mce_hobo_max_workers.t
1.873 Sat Aug 01 16:00:00 EST 2020
* Resolved construction MCE::Shared->share hanging when specifying
a module that does not exist.
* Fixed typo in prior change log.
Replaced "completed" with "feature complete".
1.872 Sun Jun 14 22:30:00 EST 2020
* Added open to required dependencies.
* Set default encodings on standard filehandles in tests using UTF-8.
* Added setnx method to MCE::Shared::{ Cache, Hash and Ordhash }.
* Added hsetnx method to MCE::Shared::Minidb.
* Updated keys, pairs, and values in
MCE::Shared::{ Array, Cache, Hash and Ordhash }.
* The MCE::Shared project is feature complete.
1.871 Wed May 13 05:30:00 EST 2020
* Reverted prior change. Skip unicode testing for MCE::Shared::Cache
unless Perl has Scalar::Util 1.22 or later. It is too late at this
stage for vendors to update Perl 5.10.1 on older Operating Systems.
1.870 Tue May 12 20:00:00 EST 2020
* Bumped minimum version required for Scalar::Util to 1.22.
Has fix to preserve utf8 flag of string passed to dualvar.
* Re-enabled unicode testing for MCE::Shared::Cache.
1.869 Mon May 11 22:00:00 EST 2020
* Disabled unicode testing for MCE::Shared::Cache on Perl 5.10.1.
Testing for keys containing unicode is failing on RedHat 6.x,
but passing in meta::cpan (smoke tests). Thank you, Paul Howarth.
* Share array and hash deeply; only when using the TIE interface.
This resolves an edge case for the OO interface and passing
nested items during construction. Thank you, Nick Tonkin.
* Bumped MCE dependency to 1.868.
1.868 Sun May 10 22:00:00 EST 2020
* Completed threads-like detach capability in MCE::Hobo.
1.867 Sun May 03 18:00:00 EST 2020
* Bug fix for UTF-8 issues during inter-process communication.
This update required undoing optimizations specific to scalar args.
Essentially, IPC involves serialization for everything going forward.
Install Sereal::Encoder and Sereal::Decoder for better performance.
* Improved MCE::Hobo with threads-like detach capability. See POD.
Resolved MCE::Hobo stalling MCE::Shared::Server during global cleanup.
* Improved IPC in MCE::Shared::Queue with permanent fast-like dequeue
including dequeue_nb. Going forward, the fast and barrier options are
silently ignored if specified (i.e. no-op).
* Improved IPC performance on Linux.
1.864 Wed Dec 04 13:00:00 EST 2019
* Use monotonic clock if available in MCE::Hobo->yield.
See https://www.perlmonks.org/?node_id=11109673
* Bumped MCE dependency to 1.864.
1.863 Sun Nov 26 20:00:00 EST 2019
* Use MCE::Channel for MCE::Hobo->yield to not incur unnecessary delays
due to busy shared-manager process.
* Re-factored recent changes regarding IPC safety in MCE::Shared::Server.
This update defers signal handling for HUP, INT, PIPE, QUIT, TERM, and
custom handlers during IPC without incurring a performance penalty.
See POD section labled "DEFER SIGNAL" in MCE::Signal 1.863.
* Reverted $hobo->exit back to sending the SIGQUIT signal in MCE::Hobo
now that MCE::Shared::Server defers signal during IPC.
* Improved reliability for spawning MCE::Hobo inside threads including
nested parallelization, made possible using a global lock $MCE::_GMUTEX
in MCE 1.863.
* Updated signal handling in mce-examples/framebuffer on GitHub.
* Bumped MCE dependency to 1.863.
1.862 Wed Sep 18 22:00:00 EST 2019
* Hotfix for 1.861.
* Bumped MCE dependency to 1.862.
1.861 Wed Sep 18 08:30:00 EST 2019
* Hotfix for 1.849-1.860. The edge cases regarding signal handling have
been finally resolved for MCE::Hobo. Thank you, Richard Kelsch for the
use case involving ctrl-c. See mce-examples/framebuffer on GitHub.
* Bumped MCE dependency to 1.861.
1.860 Sun Sep 15 20:00:00 EST 2019
* Signal-handling update release.
* SIGINT and SIGTERM safety for shared objects during IPC.
* IPC safety in MCE::Hobo during SIGINT and SIGTERM.
* Method $hobo->exit in MCE::Hobo now sends the SIGINT signal
for extra reliability with MCE::Shared (previously SIGQUIT).
* Bumped MCE dependency to 1.860.
1.850 Mon Sep 09 12:30:00 EST 2019
* More safety around cleanup code in MCE::Shared::Server.
* Bumped MCE dependency to 1.850.
1.849 Sun Sep 08 23:30:00 EST 2019
* Fixed edge case in MCE::Hobo when reaping inside a signal handler.
* Guard cleanup code in MCE::Shared::Server during global destruction.
* Configured extra data channel used for reaping Hobos and exporting.
* Optimized reaping in MCE::Hobo when void_context is set.
* Added list_pids class method to MCE::Hobo.
* Added pid class method to MCE::Shared.
* Bumped MCE dependency to 1.849.
1.848 Tue Sep 03 23:30:00 EST 2019
* Fixed broken examples in the MCE::Shared documentation.
* Bumped MCE dependency to 1.848.
1.847 Mon Sep 02 23:30:00 EST 2019
* Obsolete RedHat MCE-Shared-1.841-Sereal-deps.patch file. This patch file
is no longer needed and finally resolved with this release.
* Updated PDL examples in the documentation including Cookbook on GitHub.
Resolved segmentation fault in global cleanup for shared PDL objects.
Added missing pdl_random class method to MCE::Shared.
* Bumped MCE dependency to 1.847.
1.846 Mon Aug 26 21:30:00 EST 2019
* Fixed code tags in documentation. Thank you, Mohammad S Anwar.
* Bumped MCE dependency to 1.846.
1.845 Sun Aug 25 22:00:00 EST 2019
* Improved is_joinable, is_running, list_joinable, and list_running
in MCE::Hobo. Thank you, Philippe Baumgart.
* Added parallel Graphics::Framebuffer demonstrations:
https://github.com/marioroy/mce-examples/tree/master/framebuffer
* Bumped MCE dependency to 1.845.
1.844 Wed Aug 14 21:30:00 EST 2019
* Completed validation running Kelp and Raisin apps with MCE::Shared.
For example, constructing shared objects at the top of the script
(i.e. MCE::Shared->scalar, MCE::Shared->cache, et cetera).
Shared objects are accessible by Plack workers (i.e. Starman).
* Disable internal signal handling for the shared-manager process
if spawned from inside a thread or process.
* MCE::Hobo workers exit immediately upon receiving a SIGSEGV signal.
This safegaurds IPC from stalling inside the manager process.
* Enhanced the _wait_one private function in MCE::Hobo.
* Removed Prima from the list for auto-enabling the posix_exit option.
Prima (since 1.52) is parallel safe during global cleanup.
* Reached 100% Pod coverage.
1.843 Tue Jul 23 22:30:00 EST 2019
* Updated results in MCE::Hobo (Parallel::ForkManager-like demonstration).
* Bumped MCE dependency to 1.843.
1.842 Sun Jul 21 19:00:00 EST 2019
* The Windows hack introduced in 1.841 is 2x slower for one edge case.
Therefore, reverted the Windows hack in MCE::Shared::Server.
* Fixed race condition abnormalities in MCE::Hobo.
* Added Parallel::ForkManager-like demonstration to MCE::Hobo.
* Bumped MCE dependency to 1.842.
1.841 Sun Jul 07 04:30:00 EST 2019
* IPC update; raising reliability across multiple platforms.
* Improved the hack for the Windows platform in MCE::Shared::Server.
* Support reading a shared <DATA> handle residing in the main script
without involving the IO::FDPass module.
* Added barrier option to MCE::Shared::Queue allowing one to disable.
* Added mutex locking for all shared objects, previously just condvars.
* Added void_context option to MCE::Hobo.
* Renamed POD method headers from '=item' to '=head2' in Shared classes.
* Bumped MCE dependency to 1.839.
* Removed MANIFEST.SKIP.
1.840 Thu Jan 03 23:30:00 EST 2019
* Improved destroy and exit cleanup in MCE::Shared::Server.
1.839 Sat Aug 25 13:00:00 EST 2018
* Seeds the Math::Random::MT::Auto generator automatically when present
in MCE::Hobo, 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.
* Updated MCE::Shared::Cache to support optional argument "expires_in" for
set and sugar methods.
* Updated MCE::Shared documentation.
* Bumped MCE dependency to 1.837.
1.838 Mon Jun 25 22:00:00 EST 2018
* Fixed exporting deeply-shared regressions.
1.837 Mon Jun 25 08:30:00 EST 2018
* Fixed deeply-shared regressions. Thank you, PerlMonks (Veltro).
See https://perlmonks.pairsite.com/?node_id=1216790.
* Applied small optimizations.
* Bumped MCE dependency to 1.836.
1.836 Tue Mar 13 15:00:00 EST 2018
* Added chameneos demonstration to MCE::Shared::Condvar.
* Load IO::Handle for extra stability, preventing workers loading uniquely.
* Load Net::HTTP and Net::HTTPS before spawning if present LWP::UserAgent.
See https://www.perlmonks.org/?node_id=1199760
and https://www.perlmonks.org/?node_id=1199891.
* Bumped MCE dependency to 1.835.
1.835 Tue Jan 23 08:00:00 EST 2018
* Added max_workers method to MCE::Hobo.
* 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
* Bumped MCE dependency to 1.834.
1.834 Fri Dec 15 15:30:00 EST 2017
* Fixed croak handling inside MCE::Shared::Server.
* Enhanced sequence (bounds_only) to return optional 3rd value (id).
* Improved seconds method for _delay package inside MCE::Hobo.
* Improved clear and get methods for shared objects.
* Tweeked shared_cache_lru test script.
1.833 Tue Nov 21 15:30:00 EST 2017
* Condvar timedwait supports floating seconds via Time::HiRes.
The documentation was correct, but not high resolution in code.
* Added LWP::UserAgent to list for enabling posix_exit.
* Improved number-sequence generation for big integers.
* Improved exiting (CLOSE, DESTROY) during cleanup state.
* Improved signal handling when server is waiting on IO.
* Updated "OBJECT SHARING" section in documentation.
* Bumped MCE dependency to 1.832.
1.832 Sun Oct 08 20:30:00 EST 2017
* Added STFL (Terminal UI) to list for enabling posix_exit.
See https://www.perlmonks.org/?node_id=1200923.
* Math::Prime::Util random numbers now unique between Hobo workers.
See https://www.perlmonks.org/?node_id=1200960.
* Bumped MCE dependency to 1.831.
1.831 Tue Sep 19 23:00:00 EST 2017
* Resolved crash on the Windows platform for older Perl (< v5.18).
Older Perl must continue to run the shared-server as a thread.
Thank you CPAN testers, CHORNY and NONAME.
* Re-enabled Condvar testing on the Windows platform.
1.830 Fri Sep 15 23:00:00 EST 2017
* Disabled Condvar tests on the Windows platform. I'm unable to replicate
the exit behavior reported by two smoke machines running Windows.
1.829 Thu Sep 14 23:00:00 EST 2017
* Disabled Condvar tests on Windows machine without IO::FDPass.
1.828 Wed Sep 12 23:00:00 EST 2017
* Removed an extra "=over" command in the documentation.
1.827 Tue Sep 12 17:00:00 EST 2017
[BUG FIXES]
* Fixed bug in MCE::Shared::Queue. Thank you, Tomohiro Hosaka.
[ENHANCEMENTS]
* Refactored MCE::Hobo, MCE::Shared, and MCE::Shared::Server.
* Preserve lexical type for numbers during IPC.
* Added Coro and Win32::GUI to list for enabling posix_exit.
* Added encoder and decoder methods for overriding serialization.
* Added parallel HTTP get demonstration using AnyEvent to MCE::Hobo.
* Added Inline::Python, Logger, and Tie::File demonstrations to MCE::Shared.
* Added DBM-Sharing section to the POD documentation.
* Added iterator method to MCE::Cache.
* Improved auto-dereferencing for shared arrays, hashes, and scalars.
* Improved open method for non-shared file-handles in MCE::Shared::Handle.
* Improved shared-PDL support. Updated MCE::Cookbook on GitHub.
* Improved signal handling, including nested parallel-sessions.
* Improved running MCE::Hobo and MCE::Shared with PDL.
* Improved taint mode via perl -T.
* In MCE::Hobo, waitall and waitone are now aliases to wait_all and
wait_one respectively for backwards compatibility.
* No longer loads threads on the Windows platform in MCE::Shared::Server.
This enables MCE::Hobo to spin faster, including lesser memory consumption.
Threads isn't required to run MCE::Hobo.
* Removed extra white-space from POD documentation.
* Validated MCE::Hobo and MCE::Shared on SmartOS.
* Bumped MCE dependency to 1.830.
1.826 Wed May 03 03:00:00 EST 2017
* Reduced memory consumption.
* Clarified "limitations" section in MCE::Share::{ Condvar, Handle, Queue }.
Clarified "extra functionality" section in MCE::Shared.
Thank you, https://www.perlmonks.org/?node=zentara.
* Bumped MCE dependency to 1.829.
1.825 Fri Apr 28 16:00:00 EST 2017
[BUG FIXES]
* Do not enable barrier mode for Queue on the Windows platform.
* Fixed MCE::Hobo on the Windows platform for older Perl < v5.16.
[ENHANCEMENTS]
* Added unbless option when exporting a shared object.
Thank you, Nick Tonkin: https://metacpan.org/author/TONKIN
* Added Curses and Prima to list for enabling the posix_exit option.
* Added module option for using a class explicitly when tie'ing a variable.
* Improved support for running MCE::Hobo on the NetBSD platform.
* Enhanced IPC and signal handling. Reduced memory consumption.
* Bumped MCE dependency to 1.828.
1.824 Thu Apr 06 18:00:00 EST 2017
* Fixed bug introduced in 1.818, syswrite data to a shared file handle.
1.823 Wed Apr 05 01:30:00 EST 2017
* Do not enable barrier mode for Queue if constructed inside a thread
or for the fast => 1 option.
* Fixed leaked handles during destruction; MCE::Shared::{ Condvar, Queue }.
* Updated MCE::Shared to not croak when running Perl in taint mode via
perl -T. Failing -T was MCE::Shared::{ Handle, Sequence, and Server }.
* Bumped MCE dependency to 1.827.
1.822 Sun Apr 02 23:00:00 EST 2017
* Is now safe running MCE::Hobo with the Wx GUI toolkit (wxWidgets).
* Bumped MCE dependency to 1.826.
1.821 Sun Apr 02 07:00:00 EST 2017
* Updated MCE::Shared::Queue. The following provides a comparison
for the enhancements made regarding IPC during 1.818 through 1.821,
in order to run on machines having "many" cores. I ran with 12, 96,
and 192 workers on an 8 core box.
Shared queue, dequeue 100k items.
my $Q = MCE::Shared->queue();
# Must start the manager manually when IO::FDPass is missing.
# This caveat applies to Condvar, Handle, and Queue.
MCE::Shared->start() unless $INC{'IO/FDPass.pm'};
$Q->enqueue( 1 .. 100000 );
$Q->end();
MCE->new(
max_workers => 12, 96, or 192,
user_func => sub {
while ( defined ( my $item = $Q->dequeue ) ) {
;
}
}
)->run();
MCE::Shared 1.821: 12 ~ 1.325 secs 96 ~ 5.206 secs 192 ~ 8.158 secs
MCE::Shared 1.825: ~ 0.913 secs ~ 1.068 secs ~ 1.560 secs
* Results were captured on a fast 8 core system running CentOS Linux 7.
The thing to take from this is that running many workers "no longer"
results in up to 6.2x penalty regarding IPC.
* When IO::FDPass is missing, croak with error if constructing a Condvar
or Queue and forgotten to start the shared-manager process manually.
* Bumped MCE dependency to 1.825.
1.820 Sat Apr 01 01:00:00 EST 2017
* Completed validation for running MCE on a box having 100+ cores.
* Tuned the number of data-channels for IPC, similar to MCE.
* Bumped MCE dependency to 1.824.
1.819 Fri Mar 31 19:30:00 EST 2017
* Calibrated the number of data-channels for IPC.
* Bumped MCE dependency to 1.823.
1.818 Fri Mar 31 11:00:00 EST 2017
* Check for EINTR during sysread and syswrite.
* Improved non-shared handles constructed with MCE::Shared::Handle.
* Reap MCE::Hobo's from script exiting during development process.
* Completed validation for using MCE::Shared with 200+ cores.
* Bumped MCE dependency to 1.822.
1.817 Sun Mar 19 04:00:00 EST 2017
* Fixed broken SIG{'PIPE'} handling: e.g. script.pl | head.
* Improved reliability when running MCE::Shared with threads.
* Added parallel Net::Pcap and Ping demonstrations on GitHub:
https://github.com/marioroy/mce-examples/tree/master/network
* Default to ':raw' for BINMODE in MCE::Shared::Handle.
* Optimized 'dequeue' method in MCE::Shared::Queue.
* Refactored MCE::Hobo to spawn children on the Windows platform.
This is necessary for Mojo::IOLoop::HoboProcess to run properly,
with Mojolicous 7.25 and later.
* Bumped MCE dependency to 1.821.
1.816 Mon Mar 06 13:00:00 EST 2017
* Optimized SHIFT and UNSHIFT methods in MCE::Shared::Ordhash.
1.815 Fri Mar 03 23:00:00 EST 2017
* Fixed issue with localizing AUTOFLUSH variable before autoflush handles.
Thank you, Charles Hendry for raising the issue.
* Bumped MCE dependency to 1.819.
1.814 Wed Mar 01 22:00:00 EST 2017
* Fixed an issue in regards to deeply sharing an array or hash.
* Changed Sereal to Sereal::Decoder and Sereal::Encoder in recommends
section inside Makefile and META files.
* Revised limitations section in documentation, in regards to not having
IO::FDPass. E.g. Condvar, Handle, and Queue.
* Added 'end' method to MCE::Shared::Queue.
Updated documentation on dequeue and pending.
* Bumped MCE dependency to 1.818.
1.813 Wed Feb 22 18:00:00 EST 2017
* Revised the main description in MCE::Shared::Cache.
Improved write performance by up to 8 percent.
Fixed spelling mistakes.
* Revised the description on posix_exit in MCE::Hobo.
1.812 Mon Feb 20 05:30:00 EST 2017
* Improved performance for MCE::Shared::Cache.
This is now a hybrid LRU-plain cache implementation.
Added parallel demonstration at the end of the documentation.
* Bumped MCE dependency to 1.814 for the example to run.
* Tweaked MCE::Shared::Ordhash and MCE::Shared::Server.
1.811 Wed Feb 15 17:00:00 EST 2017
* Bumped IO::FDPass dependency to 1.2 if not already installed (1.1+)
and have a CC compiler on hand. IO::FDPass is optional otherwise.
* Support csh redirection in Makefile.PL via bash for locating a C compiler.
1.810 Tue Feb 14 17:00:00 EST 2017
* Bumped minimum requirement for Sereal to 3.015 when available.
Added check ensuring matching version for Encoder and Decoder.
1.809 Mon Feb 13 23:30:00 EST 2017
* Fixed bug in MCE::Shared::Queue (dequeue_nb) when queue has zero items.
* Applied small optimization in MCE::Shared::Sequence.
* Added MCE::Shared::Cache, a fast and memory-efficient LRU-cache module.
* Added pipeline methods to MCE::Shared::Array, Hash, Minidb, and Ordhash.
* Added recommends section to Makefile and META files: IO::FDPass, Sereal.
* Added cross-platform template to MCE::Hobo for making an executable.
* Added hobo_timeout option to MCE::Hobo for timeout capability.
Also, imply posix_exit => 1 when Gearman::XS is present.
* Added MCE::Hobo + Gearman demonstrations (xs and non-xs) on GitHub:
https://github.com/marioroy/mce-examples/tree/master/gearman_xs
https://github.com/marioroy/mce-examples/tree/master/gearman
* Changed kilobytes and megabytes to kibiBytes (KiB) and mebiBytes (MiB)
respectively inside the documentation.
* Having IO::FDPass is beneficial for Condvar(s), Handle(s), and Queue(s).
Thus, append IO::FDPass to PREREQ_PM if we can and not already installed.
Run MCE_PREREQ_EXCLUDE_IO_FDPASS=1 perl Makefile.PL to bypass the check.
* Improved documentation for QUERY STRING in various helper classes.
* Updated SYNOPSIS in various helper classes.
* Updated LOCKING section in MCE::Shared.
1.808 Fri Dec 09 23:30:00 EST 2016
* Optimized the barrier synchronization example in MCE::Shared::Condvar.
1.807 Wed Nov 23 16:00:00 EST 2016
* Refactored MCE::Hobo. Thank you, Hermann Mueller for test case.
* Improved reliability on the Windows platform by using threads.
* Bug fixes for test scripts.
1.806 Tue Nov 01 16:00:00 EST 2016
* Added a new section titled LOCKING to the MCE::Shared documentation.
* Tweaked shared-manager-loop delay -- applies to MSWin32 only.
1.805 Fri Sep 23 01:00:00 EST 2016
* Fixed close method in shared-handle to work with Perl5i.
Support for Perl5i is on Unix only. Do not use threads.
* Bumped MCE dependency to 1.805.
1.804 Thu Sep 01 16:00:00 EST 2016
* Fixed bug in MCE::Shared::Queue. Thank you, Mary Ehlers.
* Improved support for running MCE::Hobo with Tk. Added Tk demonstrations
to MCE::Examples (1.805). Thank you, Götz Meyer.
1.803 Sun Jul 10 23:30:00 EST 2016
* Modified MCE::Shared::{ Base, Minidb } to pass testing with Sereal.
* Re-enabled Sereal 3.008+ for Perl < v5.12.0, if available.
* Optimized dequeue methods in MCE::Shared::Server.
1.802 Mon Jul 04 03:30:00 EST 2016
* Default to Storable for serialization in Perl less than v5.12.0.
Sereal 3.008+, if available, is loaded automatically in Perl v5.12+.
1.801 Sun Jul 03 00:30:00 EST 2016
[BUG FIXES]
* Fixed bug with MCE::Hobo for the Solaris platform.
* Fixed race condition in Condvar->broadcast, ->signal, ->wait.
* Fixed race condition in Queue->await.
[ENHANCEMENTS]
* MCE::Shared 1.801 is stable on all supported platforms.
Bumped version to match MCE version.
* Completed work supporting cyclical include of MCE Hobo.
* Updated MCE::Shared to support Perl included with Git Bash.
1.102 Mon Jun 20 08:00:00 EST 2016
* Updated logic for obtaining caller in several MCE::Hobo methods.
This was missed in the 1.101 release.
1.101 Mon Jun 20 01:00:00 EST 2016
[BUG FIXES]
* Reverted a small change in Shared/Server.pm introduced in 1.100.
1.100 Sat Jun 18 16:30:00 EST 2016
[ENHANCEMENTS]
* Use Sereal 3.008+ automatically if available on the box.
[NEW FEATURES]
* Added support for cyclical include of MCE Hobo by scoping the
configuration to the local package.
1.008 Wed May 25 22:00:00 EST 2016
* Applied correction in META.json.
* Bumped MCE dependency to 1.707.
1.007 Wed May 25 16:00:00 EST 2016
[NEW FEATURES]
* Added chunk IO capability to READ in MCE::Shared::Handle. Both non-shared
and shared handles are supported. See documentation for demonstrations.
* Added assign to MCE::Shared::{ Array, Hash, and Ordhash }. Ditto, added
hassign and lassign to MCE::Shared::{ Minidb }. Assign is inspired by
Tie::Hash::Indexed v0.05_02. Thank you, Marcus Holland-Moritz.
* Added META.json to the distribution.
[ENHANCEMENTS]
* Close shared file-handles when stopping the shared-manager process.
* Improved exporting for shared MCE::Shared::{ Array, Hash, and Ordhash }.
* Now loads PDL::IO::Storable automatically when PDL is present. PDL must
come before MCE::Shared. Otherwise, load PDL::IO::Storable manually.
* Specifying Sereal for serialization falls back to Storable when PDL is
present. A warning is emitted indicating Sereal is not used.
[API CHANGES]
* Removed iterator and rewind functionality from MCE::Shared::Minidb.
This was done to streamline Minidb and MCE/Shared/Server.pm.
1.006 Fri Apr 29 21:30:00 EST 2016
[BUG FIXES]
* Enabled deeply sharing by default when constructing a shared array
or hash. Thank you, Frank Wang.
[ENHANCEMENTS]
* Localized the output record separator in error and trap routines.
* Optimized READ in MCE::Shared::Server.
1.005 Fri Apr 22 21:30:00 EST 2016
[ENHANCEMENTS]
* Time::HiRes sleep resolution is 15 milliseconds on Windows and Cygwin.
Adjusted timeout values accordingly. Thank you, Daniel Dragan.
1.004 Fri Apr 15 00:30:00 EST 2016
* Bumped version for MCE to 1.705. Thank you, smoke testers.
1.003 Thu Apr 14 10:00:00 EST 2016
* Bumped version for Test::More to 0.88. Thank you, Paul Howarth.
1.002 Thu Apr 14 05:00:00 EST 2016
[BUG FIXES]
* Reached *stable* on all major platforms for MCE::Shared 1.0x.
[NEW FEATURES]
* MCE::Shared exports mce_open for more native feel to making a shared
file handle.
* Improved search functionality in MCE::Shared::{ Array, Hash, Ordhash }
and MCE::Shared::Minidb. Thank you, Demian Riccardi.
[ENHANCEMENTS]
* Enabled freeze callbacks for Sereal.
* Switched bug tracking to GitHub.
* Tweaked test scripts.
1.001 Sat Mar 19 23:00:00 EST 2016
* Completed IPC optimizations for 1.0.
1.000 Tue Mar 15 22:00:00 EST 2016
* First release.