GNU bug report logs - #19193
Announcing "untangle" for Grep 2.21; R.I.P. Dad

Previous Next

Package: grep;

Reported by: behoffski <behoffski <at> grouse.com.au>

Date: Wed, 26 Nov 2014 13:40:02 UTC

Severity: normal

Tags: notabug

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19193 in the body.
You can then email your comments to 19193 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#19193; Package grep. (Wed, 26 Nov 2014 13:40:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to behoffski <behoffski <at> grouse.com.au>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Wed, 26 Nov 2014 13:40:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: behoffski <behoffski <at> grouse.com.au>
To: bug-grep <at> gnu.org
Subject: Announcing "untangle" for Grep 2.21;  R.I.P. Dad
Date: Thu, 27 Nov 2014 00:08:04 +1030
[Message part 1 (text/plain, inline)]
G'day,

Congratulations to all on the GNU Grep 2.21 release.

I'm continuing my attempt to do a "bottom-up" refactoring of the code to make
it more modular, via the Lua script "untangle" that you've seen recently.
This email contains an updated version of the script, tracking the changes
to the sources (especially to dfa.c) since the last release.

I've also added some code to make the modules more robust:

  1. Added C++ C wrappers to the header files:

        #ifdef __cplusplus
        extern "C" {
        #endif /* __cplusplus */

        [... body of header goes here ... ]

        #ifdef __cplusplus
        }
        #endif /* __cplusplus */

  2. Strengthened pointer passing between modules

     Although the code uses strong typing (opaque types) for pointers
     representing instances created, manipulated and destroyed by
     each module, there are various ways -- intentional or unintentional --
     that an invalid pointer might be presented, masquerading as an
     instance of the module.

     To reduce the likelihood of this happening, along with adding
     checking fro some other cases such as gross memory corruption, and
     perhaps also use-after-free, I've added sentinel magic numbers at the
     top and bottom of each of the refactored modules, and these sentinels
     are checked each time an external party interacts with the module.

The charclass module has had a couple of extra additions:

     "bitcount" reports how many members of the class are set; and

     "next_member" allows a client to enumerate the members in an
      ordered  fashion.

I've tested the "untangle" script with Lua 5.1.

I haven't included the files generated by this script -- if people
are interested, I'm happy to post these to the list.

cheers,

behoffski (Brenton Hoff)
Programmer, Grouse Software





    FINALLY:




         RIP to my Dad, who passed away a year ago today
         (27 November 2013):

         He did so much to encourage my interest in science and
         technology, and also personally did a lot to help me through
         some tough times.  Thanks Dad, for everything.

         This release is dedicated to his memory.









[untangle (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#19193; Package grep. (Wed, 26 Nov 2014 23:47:02 GMT) Full text and rfc822 format available.

Message #8 received at 19193 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: behoffski <behoffski <at> grouse.com.au>
Cc: 19193 <at> debbugs.gnu.org
Subject: Re: bug#19193: Announcing "untangle" for Grep 2.21; R.I.P. Dad
Date: Wed, 26 Nov 2014 15:46:27 -0800
On Wed, Nov 26, 2014 at 5:38 AM, behoffski <behoffski <at> grouse.com.au> wrote:
> G'day,
>
> Congratulations to all on the GNU Grep 2.21 release.
>
> I'm continuing my attempt to do a "bottom-up" refactoring of the code to
> make
> it more modular, via the Lua script "untangle" that you've seen recently.
> This email contains an updated version of the script, tracking the changes
> to the sources (especially to dfa.c) since the last release.

Thanks for your continuing effort to contribute, and sorry to hear
about your dad.

I like your idea (mentioned off-list) to pursue this in its own project,
so it will be separate from GNU grep, at least until you can
show significant performance gains.




Information forwarded to bug-grep <at> gnu.org:
bug#19193; Package grep. (Thu, 12 Feb 2015 00:25:02 GMT) Full text and rfc822 format available.

Message #11 received at 19193 <at> debbugs.gnu.org (full text, mbox):

From: sur-behoffski <sur_behoffski <at> grouse.com.au>
To: 19193 <at> debbugs.gnu.org
Subject: Re: bug#19193: Announcing "untangle" for Grep 2.21; R.I.P. Dad
Date: Thu, 12 Feb 2015 10:53:30 +1030
On 11/27/14 10:16, Jim Meyering wrote:
> On Wed, Nov 26, 2014 at 5:38 AM, behoffski <behoffski <at> grouse.com.au> wrote:
>> G'day,
>>
>> Congratulations to all on the GNU Grep 2.21 release.
>>
>> I'm continuing my attempt to do a "bottom-up" refactoring of the code to
>> make
>> it more modular, via the Lua script "untangle" that you've seen recently.
>> This email contains an updated version of the script, tracking the changes
>> to the sources (especially to dfa.c) since the last release.
>
> Thanks for your continuing effort to contribute, and sorry to hear
> about your dad.
>
> I like your idea (mentioned off-list) to pursue this in its own project,
> so it will be separate from GNU grep, at least until you can
> show significant performance gains.
>

G'day Jim (replying via bug-grep list),

Done (finally).  See "hstbm", which is sometimes two or even three times
faster than GNU Grep 2.21 on my machine (amd64, Gentoo GNU/Linux) for
selected search patterns:

> The Savannah folks have kindly agreed to host hstbm as a non-GNU
> project at:
>
>     https://savannah.nongnu.org/projects/hstbm
>
> The release can be downloaded as a separate tarball from:
>
>     http://git.savannah.gnu.org/cgit/hstbm.git/snapshot/hstbm-0.13.tar.gz
>
> Git users probably want to clone the repository instead; the
> latest sources (which may include changes after the 0.13 release)
> can be retrieved via "git clone":
>
>     git clone git://git.savannah.nongnu.org/hst


cheers,

sur-behoffski (Brenton Hoff)
Programmer, Grouse Software





Added tag(s) notabug. Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Sat, 30 May 2015 20:05:08 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 19193 <at> debbugs.gnu.org and behoffski <behoffski <at> grouse.com.au> Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Sat, 30 May 2015 20:05:09 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 28 Jun 2015 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 363 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.