threads resource ons gentoo fedora 13.10 -c slackware
一个类似于代码搜索工具
,着重于速度。
- 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 秒)。我的
目录是大约 8GB。感谢 git / hg / ignore,Ag 只搜索了 700MB。
- ~/code
还有各版本的性能图表。
编辑而不是读入缓冲区。
- mmap()
在每个文件执行相同的正则表达式之前,Ag 调用它。
- pcre_study()
忽略文件中的每个模式,非正则表达式模式将加载到数组中并进行二进制搜索。
- fnmatch()
我写了几篇博客文章,显示了我如何改进性能。这些包括我如何添加 pthreads,写我自己的
,基准测试每个版本以找到性能回归,并用 gprof 和 Valgrind 进行分析。
- scandir()
- brew install the_silver_searcher
要么
- port install the_silver_searcher
- apt-get install silversearcher-ag
- yum install the_silver_searcher
- dnf install the_silver_searcher
- yum install epel-release.noarch the_silver_searcher
- emerge the_silver_searcher
- pacman -S the_silver_searcher
- sbopkg -i the_silver_searcher
- zypper install the_silver_searcher
- yum install the_silver_searcher
- pkg install the_silver_searcher
- pkg_add the_silver_searcher
运行相关的
,并在 "Utils" 类别中选择 "the_silver_searcher"。
- setup-*.exe
要么
- brew install automake pkg-config pcre xz
- port install automake pkgconfig pcre xz
- apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev
- yum -y install pkgconfig automake gcc zlib-devel pcre-devel xz-devel
- yum -y groupinstall "Development Tools"
- yum -y install pcre-devel xz-devel
- zypper source-install --build-deps-only the_silver_searcher
- ./build.sh
在 Windows 上(在 msys / MinGW shell 内):
- make -f Makefile.w32
- sudo make install
GPG 签名的版本可在这里。
构建版本 tarball 需要相同的依赖关系,除了 automake 和 pkg-config。安装依赖项后,只需运行:
- ./configure
- make
- make install
您可能需要以
root 身份使用或运行 make install。
- sudo
您可以使用 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"
一个比 ack 速度快 n 倍的代码搜索工具: ag
来源: http://www.bubuko.com/infodetail-2117394.html