Related articles |
---|
Announcing Grouse Grep V2.00 for GNU/Linux behoffski@grouse.com.au (behoffski) (2000-02-21) |
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/
Return to the
comp.compilers page.
Search the
comp.compilers archives again.