secretbase.log

.NET/C#/Pythonなど

ackより速いagを試してみる

ackより速いらしいagを試してみました。ackはgrepをよりプログラマ向けに便利にしたもので、agはperlで記述されたackよりCで書いている分高速であることがウリとのことです。

インストール

debian GNU/Linux 7.0 wheezy 上で行います。Ubuntuでも同じ手順でインストールできます。

準備

$ sudo aptitude install automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev

ビルド

$ git clone git://github.com/ggreer/the_silver_searcher.git
$ cd the_silver_searcher
$ ./build.sh
$ sudo make install

比較

バージョン

ack-grep 1.96
ag 0.15pre

Mercurialソースコードで ctx を検索してみます。

~/work/hg $ time ack-grep ctx

...

real    0m1.405s
user    0m0.448s
sys     0m0.100s
~/work/hg $ time ag ctx

...

real    0m0.274s
user    0m0.064s
sys     0m0.036s

この結果では、ag は、5倍くらい速い結果が得られました。