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

Gnu awk作者在FreeBSD邮件列表中回答”GNU grep为什么比BSD grep要快“,提到了用到了Boyer-Moore算法,虽然不知道是什么,但感觉很厉害的样子~我猜想grep有多快呢?  所以想比较下下pythonsedgrep:  测试文本: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文本查找效率对比小测-1猿站网-插图

试试sed

%小知识:Python与sed,grep文本查找效率对比小测-2猿站网-插图

快了1个数量级!  最后试试grep

%小知识:Python与sed,grep文本查找效率对比小测-3猿站网-插图

果然grep是查找最专业的!

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux目录树:根目录、典型目录等详细说明

2023-6-6 2:05:56

建站知识

小知识:安装 unixbench make: *** [pgms/ubgears] Error 1 的解决方法

2023-6-6 2:22:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索