Python与sed,grep文本查找效率对比小测

2025-05-27 0 37

Gnu awk作者在FreeBSD邮件列表中回答”GNU grep为什么比BSD grep要快“,提到了用到了Boyer-Moore算法,虽然不知道是什么,但感觉很厉害的样子~我猜想grep有多快呢?



所以想比较下下python,sedgrep



测试文本:20w行,21M大



python普通正则匹配:

复制代码

代码如下:


#!/usr/bin/python3
import re
f=open('/tmp/test.txt')
for line in f:
match=re.findall('^This.*want',line)
if match != []:
print(match)





结果:

Python与sed,grep文本查找效率对比小测

试下编译的正则试试:

复制代码

代码如下:


#!/usr/bin/python3
import re
f=open('/tmp/test.txt')
re_obj=re.compile('^This.*want')
for line in f:
match=re_obj.findall(line)
if match != []:
print(match)





结果快了1倍:

Python与sed,grep文本查找效率对比小测



试试sed

Python与sed,grep文本查找效率对比小测

快了1个数量级!



最后试试grep

Python与sed,grep文本查找效率对比小测



果然grep是查找最专业的!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Python与sed,grep文本查找效率对比小测 https://www.kuaiidc.com/64473.html

相关文章

发表评论
暂无评论