0

所以最近我正在搜索执行快速搜索的命令行工具,我偶然发现了很多。据我了解,据报道 Ag 比 grep、ack 和 sift 快。grep 是最慢的。

现在我在一个文件中有 300.000 个字符串,我尝试查找哪些字符串具有特定的子字符串并将它们返回。

time grep 'substring' file.txt

real    0m0.030s
user    0m0.009s
sys     0m0.008s

.

time ag 'substring' file.txt ----> 5 secs

real    0m0.083s
user    0m0.038s
sys     0m0.014s

我做错了什么,还是没有按照我尝试使用的方式使用 ag?

4

1 回答 1

-1

Grep 真的很高效。然而,即使 Ag 在一个系统上更快,这一切都取决于您使用的软件包和发行版。

如果您在 grep(在 Cygwin 包上)上使用 64 位,则可以在系统上使用更多内存。可能是 Ag 有一个使用较少资源的包。

我建议使用该parallel命令,它允许您指定每个核心要使用多少个进程并加快速度。

于 2016-09-25T22:03:15.587 回答