[GTALUG] Interesting article on a new grep written in Rust

Christopher Browne cbbrowne at gmail.com
Tue Sep 27 18:01:40 EDT 2016


http://blog.burntsushi.net/ripgrep/

This takes me well back in time; we had a talk back in 2006 (
https://github.com/gtalug/legacy-wiki-extract/blob/master/legacy-pages-processed/meetings-2006-03.html
) talking about the state of the art at that time.  The issues that
were discussed at that point tended to be about whether you'd want
your "grep" to expand regular expressions or leave them dynamic.

The state of things have certainly changed since then.  I have often
tended to use, for repository-oriented searches, ack-grep (a recursive
grep implemented in Perl), and was aware of The Silver Searcher; I'm
giving ripgrep a good try as alternative based on how interesting the
blog entry was.

The new state of affairs are that we still have "Ol reliable," but
there are a pretty substantial set of newer options.

-----------------------------------------------------------------------------------
what tools are we benchmarking?

ripgrep (rg) (v0.1.2) - You’ve heard enough about this one already.
GNU grep (v2.25) - Ol’ reliable.
git grep (v2.7.4) - Like grep, but built into git. Only works well in
git repositories.
The Silver Searcher (ag) (commit cda635, using PCRE 8.38) - Like ack,
but written in C and much faster. Reads your .gitignore files just
like ripgrep.
Universal Code Grep (ucg) (commit 487bfb, using PCRE 10.21 with the
JIT enabled) - Also like ack but written in C++, and only searches
files from a whitelist, and doesn’t support reading .gitignore.
The Platinum Searcher (pt) (commit 509368) - Written in Go and does
support .gitignore files.
sift (commit 2d175c) - Written in Go and supports .gitignore files
with an optional flag, but generally prefers searching everything
(unlike every other tool in this list except for grep).
-----------------------------------------------------------------------------------

FYI, the Rust language project was founded by Graydon Hoare, who used
to be in Toronto, once upon a time...
-- 
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"


More information about the talk mailing list