「The Silver Searcher」は、grepより速いackよりさらに高速なファイル検索ソフト(作者ブログ)。主にソースコードを対象にした検索ソフトで、次のような特徴があるようです。
- ackより3〜5倍高速。
- .gitignoreまたは.hgignoreからパターンを読み込みファイルを無視することができる。
- 検索したくないファイルがある場合、.agignoreファイルにパターンを追加できる。
- コマンド名がackより短い(※agというコマンド名なので)。
Gentoo, OS X, ArchLinux、FreeBSD用のバイナリパッケージも用意されているので手軽に導入可能(ソースコード自体はCで書かれている様子)。TextMateやVim、Emacsといったエディタからも利用可能みたいです。
ggreer@carbon:~/cloudkick/reach% du -sh 250M . ggreer@carbon:~% time grep -r -i SOLR ~/cloudkick/reach | wc -l 617 11.06s user 0.81s system 96% cpu 12.261 total ggreer@carbon:~% time ack -i SOLR ~/cloudkick/reach | wc -l 488 2.87s user 0.78s system 97% cpu 3.750 total ggreer@carbon:~% time ag -i SOLR ~/cloudkick/reach | wc -l 573 1.00s user 0.51s system 95% cpu 1.587 total
作者ブログにあった、250Mのソースコードを検索した例では、grepが12.261秒、ackが3.750秒、The Silver Searcher(ag)が、1.587秒という実行結果が掲載されています。あらゆるパターンでackより高速化どうか不明ですが、試してみる価値はあるかと重あwれます。