Announcing Grouse Grep V2.00 for GNU/Linux

behoffski <behoffski@grouse.com.au>
21 Feb 2000 23:59:04 -0500

          From comp.compilers

Related articles
Announcing Grouse Grep V2.00 for GNU/Linux behoffski@grouse.com.au (behoffski) (2000-02-21)
| List of all articles for this month |
From: behoffski <behoffski@grouse.com.au>
Newsgroups: comp.compilers
Date: 21 Feb 2000 23:59:04 -0500
Organization: Grouse Software Pty Ltd
Keywords: tools, available, lex, DFA

G'day,


I've just released Grouse Grep V2.00 for GNU/Linux, a text search
program that can beat GNU Grep for speed in a number of important
cases, but which doesn't support extended REs and which can be
exponentially slower than GNU for some complex searches. In some
cases it can be 10-20% faster, and in a few cases is over twice as
fast.


This program was originally released for DOS as port of my article
entitled "High-Speed Finite-State Machines" in the November 1997 issue
of Dr. Dobb's Journal, but has been substantially rewritten and
enhanced in the port to GNU/Linux.


There are a LOT of interesting ideas in the code. Some
highlights:


                - A (minor) improvement to the Tuned Boyer-Moore
                    simple string search algorithm called the
                    Self-Tuning Boyer-Moore algorithm,


                - The Grouse FSA combines table-driven finite-state
                    machines with threaded assembly to provide extremely
                    high performance for byte-oriented applications.
                    This release uses GCC's "computed goto" so you can
                    build the machines entirely in C. This architecture
                    has enormous potential to improve the performance of
                    existing applications, including byte-coded
                    interpreters such as Perl and Java, and


                - A simple but sophisticated trace/debug facility
                    called Tracery that permits fine control over which
                    modules/views of the code are to be monitored, and
                    which greatly improves the ability to reuse modules.


Full C (GCC) source code and substantial documentation on
the code, the algorithms and other ideas used in the
design and implementation is available via the Grouse
web site. (One or two of the opinions on system and
language design are mildly controversial...)


The best place to start is via the original (rather long)
announcement message at:


                http://www.grouse.com.au/ggrep/announce.html


cheers,


behoffski


--
behoffski (Brenton Hoff) | Software Engineer, Grouse Software
behoffski@grouse.com.au | http://www.grouse.com.au/


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.