I'll engage in some expectation management: ag doesn't cover all uses of Ack. I made ag because I loved Ack, but it wasn't fast enough for my needs. For the features of Ack that I use, ag is interchangeable. For features I don't use... not so much. Also, since the release of Ack 2.0, some behaviors and command line options have differed slightly.
If you want to know why ag is so fast, there's a summary in the GitHub README.[1] I've also written a few blog posts on the subject.[2]
I'm not sure how valid the comparison benchmark is:
Ack and Ag found the same results, but Ag was 34x faster
(3.2 seconds vs 110 seconds). My ~/code directory is about
8GB. Thanks to git/hg/svn-ignore, Ag only searched 700MB of that.
Searching less data definitely is going to take less time!
While "would you rather type" examples are OK, I wish more people would learn how to use their shell's short-cuts and trivial scripting.
Whenever you find yourself repeatedly running long and awkward commands that you wish were shorter, you ought to think about converting them into an alias or a script.
15 comments
[ 3.8 ms ] story [ 41.2 ms ] threadAlright, but where is the advantage of it?
The list reads more like a list of features though than "advantages over grep".
This is from the feature list of the Silver Searcher, listed above:
"The command name is 33% shorter than ack, and all keys are on the home row!"
Designed as a replacement for all of the use cases of Ack. Is even faster.
Sold!
https://github.com/monochromegane/the_platinum_searcher
It even better than ack. This is very useful on large codebases.
If you want to know why ag is so fast, there's a summary in the GitHub README.[1] I've also written a few blog posts on the subject.[2]
1. https://github.com/ggreer/the_silver_searcher#how-is-it-so-f...
2. http://geoff.greer.fm/ag/#related-posts
Whenever you find yourself repeatedly running long and awkward commands that you wish were shorter, you ought to think about converting them into an alias or a script.