标签:arc res 个数 lease gconf inux http 功能 ignore
一个类似于代码搜索工具ack
,着重于速度。
Github: https://github.com/ggreer/the_silver_searcher
ack
。.gitignore
和你的文件模式.hgignore
。.ignore
文件中即可。(*咳嗽* *.min.js
*咳嗽*)ack
,所有的键都在主排上!Ag现在相当稳定 大多数更改是新功能,小错误修复或性能改进。比我的基准要快得多:
ack test_blah ~/code/ 104.66s user 4.82s system 99% cpu 1:50.03 total
ag test_blah ~/code/ 4.67s user 4.58s system 286% cpu 3.227 total
Ack和Ag发现了相同的结果,但是Ag的速度是34倍(3.2秒vs 110秒)。我的~/code
目录是大约8GB。感谢git / hg / ignore,Ag只搜索了700MB。
还有各版本的性能图表。
mmap()
编辑而不是读入缓冲区。pcre_study()
在每个文件执行相同的正则表达式之前,Ag调用它。fnmatch()
忽略文件中的每个模式,非正则表达式模式将加载到数组中并进行二进制搜索。我写了几篇博客文章,显示了我如何改进性能。这些包括我如何添加pthreads,写我自己的scandir()
,基准测试每个版本以找到性能回归,并用gprof和Valgrind进行分析。
brew install the_silver_searcher
要么
port install the_silver_searcher
Ubuntu> = 13.10(Saucy)或Debian> = 8(Jessie)
apt-get install silversearcher-ag
Fedora 21及以下
yum install the_silver_searcher
Fedora 22+
dnf install the_silver_searcher
RHEL7 +
yum install epel-release.noarch the_silver_searcher
Gentoo的
emerge the_silver_searcher
拱
pacman -S the_silver_searcher
Slackware的
sbopkg -i the_silver_searcher
openSUSE的:
zypper install the_silver_searcher
CentOS的:
yum install the_silver_searcher
SUSE Linux Enterprise:按照这些简单说明进行操作。
FreeBSD的
pkg install the_silver_searcher
OpenBSD系统/ NetBSD的
pkg_add the_silver_searcher
运行相关的setup-*.exe
,并在“Utils”类别中选择“the_silver_searcher”。
安装依赖关系(Automake,pkg-config,PCRE,LZMA):
MacOS的:
brew install automake pkg-config pcre xz
要么
port install automake pkgconfig pcre xz
Ubuntu的/ Debian的:
apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev
Fedora的:
yum -y install pkgconfig automake gcc zlib-devel pcre-devel xz-devel
CentOS的:
yum -y groupinstall "Development Tools"
yum -y install pcre-devel xz-devel
openSUSE的:
zypper source-install --build-deps-only the_silver_searcher
Windows:这很复杂 看到这个维基页面。
运行构建脚本(它运行aclocal,automake等):
./build.sh
在Windows上(在msys / MinGW shell内):
make -f Makefile.w32
安装:
sudo make install
GPG签名的版本可在这里。
构建版本tarball需要相同的依赖关系,除了automake和pkg-config。安装依赖项后,只需运行:
./configure
make
make install
您可能需要以sudo
root身份使用或运行make install。
您可以使用Ag与[ack.vim] []添加以下行到您的.vimrc
:
let g:ackprg = ‘ag --nogroup --nocolor --column‘
要么:
let g:ackprg = ‘ag --vimgrep‘
哪个有同样的效果,但会报告每一场比赛。
您可以使用ag.el作为Ag的Emacs前端。参见:helm-ag。
TextMate用户可以使用Ag与我流行的AckMate插件的分支,这可以让您同时使用Ack和Ag进行搜索。如果您已经有AckMate,您只需要用Ag替换Ack,移动或删除"~/Library/Application Support/TextMate/PlugIns/AckMate.tmplugin/Contents/Resources/ackmate_ack"
并运行ln -s /usr/local/bin/ag "~/Library/Application Support/TextMate/PlugIns/AckMate.tmplugin/Contents/Resources/ackmate_ack"
标签:arc res 个数 lease gconf inux http 功能 ignore
原文地址:http://www.cnblogs.com/sunsky303/p/6999800.html