packages icon
Grouse Grep is a text search program for Linux, similar to 
GNU Grep.  The program features a new and powerful software 
architecture to provide a speed increase over GNU Grep for 
many common simple searches.  Case-insensitive searches in 
particular are 10-20% faster than GNU (benchmarking against 
version 2.3).  However, the program can't handle extended RE 
syntax (parenthesis, alternation, {n,m} iteration), and it 
uses an NFA algorithm instead of a DFA algorithm, which can 
lead to exponentially slow search times for more complex 
searches (GNU uses a DFA).  

This release includes all source (C, plus a little Perl), 
and a pair of test rigs to perform regression and flog 
testing.   

The new architecture is the Grouse FSA, which is a merger 
of table-driven finite-state machines and threaded assembly.  
This architecture runs extremely quickly, and has huge 
potential to be used to optimise new and existing 
applications.  Grouse Grep includes some tools to help build 
and maintain these machines.  

Simple string searching benefits from using the new 
Self-Tuning Boyer-Moore algorithm, which is a minor 
improvement to the Tuned Boyer-Moore algorithm.  

Another new feature is Tracery: A  trace/debug facility that 
gives extremely fine control over what is to be observed, 
and which is built to be highly portable and reusable.  Even 
better, each module that implements its traces with Tracery 
becomes more reusable.  Make sure you use Tracery on your 
current and next project!