我有几千兆字节的源代码。
使用递归 grep 查找术语可能需要一段时间。
我正在使用 ext3。
有没有更快的方法?使用 find 会更快吗?如果是,为什么?使用像 XFS 这样的文件系统会给出明显更好的结果吗?
答案1
你有没有尝试过确认? 在 1mm+ 大小的代码库上,它运行得很好。
答案2
您可以使用 agrep 获得更好的性能,它使用一种新颖的位掩码算法进行搜索。
如果您正在寻找符号,ctags 或 etags 可能足以构建搜索索引。
答案3
唯一能比 grep 获得显著改进的方法是使用索引搜索系统,例如斯特里吉除非您有大量非常小的文件,否则文件系统的影响很小。
答案4
我认为 FS 不会带来太大影响;很可能是计算限制。您可以使用它来检查top
CPU 是否在冒烟。
您也可以在此处发布您的正则表达式,让 SO 的聪明人尝试优化它。有多种技术可以避免回溯等。