cpan MCE 1.499_003

latest releases: 1.900, 1.899, 1.898...
pre-release10 years ago
  • There are 3 items remaining before releasing the final MCE 1.5.

    1. Document MCE::Stream
    2. Finish documentation on MCE::Loop
    3. Re-visit documentation on MCE::Flow

;) mario

  • MCE 1.5 is backwards compatible with 1.4 and below.

  • The documentation, previously MCE.pod, moved to MCE::Core.pod with the
    examples section placed in MCE::Examples.pod. The MCE.pod file serves
    as an index page for the various documentation.

  • IPC has been enhanced with 8 data channels. Many operations run 3x when
    compared with MCE 1.4.

  • Five models: MCE::Flow, MCE::Grep, MCE::Loop, MCE::Map, and MCE::Stream.

  • Hybrid queues via MCE::Queue allowing for normal and priority queues.

  • MCE::Subs for exporting functions prefixed with mce_; e.g. mce_wid.

  • All public methods can be called directly using the package name
    and method e.g. MCE->wid, MCE->run.

    MCE->new(

    max_workers => 'auto',
    user_func => sub {
       my $wid = MCE->wid;
       MCE->sendto("STDOUT", "Hello from $wid\n");
    }
    

    );

    MCE->run;

  • New options (gather, interval, task_name).

The task_end option can now be specified at the top level.
See docs for use case.

Input_data can be specified inside the first task instead of having
to specify this at the top level. Input_data is ignored when specified
for tasks other than the first task.

 user_tasks => [{
    input_data => \@list,
    ...
 },{
    ...
 }
  • New public methods
    chunk_id, gather, freeze, thaw, yield, task_name, print, printf, say

  • New example (interval.pl).

  • Optimized the egrep.pl and wc.pl examples. These run much faster.
    Try these out against large log files. Both examples fly.

  • Barrier synchronization update. Two sockets are utilized instead of
    2 lock files. This, now works wonderfully under the Cygwin environment.
    For threading, the removal of 2 lock files increases the number of
    threads allowed from about 1/3rd previously to under 1/2 of ulimit,
    e.g. int(ulimit -n / 2 - 20).

  • Removed the logic for determining MAX_OPEN_FILES and MAX_USER_PROCS.
    MCE no longer has a constraint on max_workers allowed.

  • Code re-factor work. Added a private method _validate_runstate called
    by various methods. Organized the code slightly such as placement of
    methods.

  • Localize the input scalar $_ prior to calling userfunc. Folks can
    use $
    for input_data and sequence of numbers. Added section to docs
    explaining DEFAULT INPUT SCALAR.

Don't miss a new MCE release

NewReleases is sending notifications on new releases.