I&#x27;ll engage in some expectation management: ag doesn&#x27;t cover <i>all</i> uses of Ack. I made ag because I loved Ack, but it wasn&#x27;t fast enough for my needs. For the features of Ack that I use, ag is interchangeable. For features I don&#x27;t use... not so much. Also, since the release of Ack 2.0, some behaviors and command line options have differed slightly.<p>If you want to know why ag is so fast, there&#x27;s a summary in the GitHub README.[1] I&#x27;ve also written a few blog posts on the subject.[2]<p>1. <a href="https:&#x2F;&#x2F;github.com&#x2F;ggreer&#x2F;the_silver_searcher#how-is-it-so-fast" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ggreer&#x2F;the_silver_searcher#how-is-it-so-f...</a><p>2. <a href="http:&#x2F;&#x2F;geoff.greer.fm&#x2F;ag&#x2F;#related-posts" rel="nofollow">http:&#x2F;&#x2F;geoff.greer.fm&#x2F;ag&#x2F;#related-posts</a>