cpan MCE 1.505

latest releases: 1.897, 1.896, 1.895...
10 years ago

[BUG FIXES]

  • Delete $self->{input_data} inside the worker immediately during spawning
    (if input_data is an ARRAY, GLOB, or Iterator reference).

  • Reverted the logic for the RS (record separator) option from the 1.4x
    code base. This is now working as expected.

  • Specifying chunk_size => 'auto' via the 'init' method (all 5 models)
    causes MCE validation to croak due to 'auto' being carried over to the
    core API. Note that only the 5 models are allowed 'auto' for chunk_size
    as of this time.

  • Update to the MCE->do method. Previously, an undef sent back from the
    callback function ended up as a blank value "". Both "" and undef are
    now properly captured and sent back to the worker process.

  • Added an if statement inside the 'abort' method.

  • Removed an old unlink _store.db statement (old code left behind).

  • Removed an unused _next variable inside Request.pm.

[ENHANCEMENTS]

  • Enhanced egrep.pl to handle additional options including recursion.
    This script now supports many egrep options [ceHhiLlmnqRrsv].

  • IO performance for examples/cat.pl was improved. The real focus here is
    demonstrating output order.

  • The chunk_size option can take a suffix; K (Kilobytes) or M (Megabytes).

  • The following examples except --max-workers=NUM --chunk-size=NUM options.
    cat.pl, egrep.pl, findnull.pl, scaling_pings.pl, and wc.pl

[NEW FEATURES]

  • The input_data option can now receive an iterator reference. Added a
    new example iterator.pl for demonstraton. In addition, there are
    several examples listed under a new section "SYNTAX for INPUT_DATA"
    under MCE::Core.pod.

  • Added a new demo script; bin/mce_grep. This is a wrapper script for the
    grep binary. This script supports agrep, grep, egrep, fgrep, & tre-agrep.
    Simply create a link to mce_grep or make a copy. Both Windows and Cygwin
    are supported as well. Recursion works for all binaries including agrep
    (-R, -r options).

    ln mce_grep mce_agrep
    ln mce_grep mce_egrep
    ln mce_grep mce_fgrep
    ln mce_grep mce_tre-agrep

Try with the --lang=C option for faster execution time (-i runs faster).
Try mce_agrep or mce_tre-agrep against very large files. The speedup is
linear and makes good utilization of all available cores on the box.

One may specify the chunking level via the --chunk-level option. For large
files, specify 'file' (chunks file). For many small files, use 'list'.

I have tested against the following GnuWin32 packages found at this URL.
http://gnuwin32.sourceforge.net/packages.html

tre-0.7.5-bin.zip         ## Contains agrep.exe (also runs under Cygwin)
grep-2.5.4-bin.zip        ## Contains egrep.exe, fgrep.exe, grep.exe
libiconv-1.9.2-1-bin.zip  ## These are required for the GnuWin32 binaries.
libintl-0.14.4-bin.zip
pcre-7.0-bin.zip
regex-2.7-bin.zip

Btw, bin/mce_grep is optional and therefore not installed by default
when running make install for the MCE module. Simply copy mce_grep as
mce_agrep.pl for Windows. The '.pl' suffix is optional for other
environments.

Don't miss a new MCE release

NewReleases is sending notifications on new releases.