本站首页    管理页面    写新日志    退出


«July 2026»
1234
567891011
12131415161718
19202122232425
262728293031


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:
日志总数:11
评论数量:53
留言数量:0
访问次数:153392
建立时间:2006年4月11日




[编程语言]C++ 正则表达式测速
原创空间

wdx04 发表于 2006/7/15 21:17:55

正则表达式是十分强大的软件工具,我在日常工作中用得很多,但都是在Python中用,有时觉得Python内置的sre速度不够快,想看知道在C++中使用正则表达式是否效率更高,因此作了这个测试。 测试一:在一个1.15MB的Java源程序文件中统计形如"new MessageBox(...);"的代码片断出现次数(159次),重复执行100次,计算所用时间。测试使用的正则表达式: new MessageBox\([^;]*?\);测试二:文本同上,增加正则表达式的复杂度,重复20次。测试使用的正则表达式: /\\* ?!.*?\\*/|// ?![^\\n]*|new MessageBox\\([^;]*?\\);|[a-z]+! 测试结果如下: 编译器 正则表达式库 时间一 时间二 Visual C++ 6.0 Regex++ v3 2.64s 3.13s Visual C++ 7.1 Regex++ v4 1.36s 2.54s Intel C++ 8.1 Regex++ v4 0.51s 1.57s Visual C++ 7.1 Xpressive Dynamic 0.30s 4.84s Intel C++ 8.1 Xpressive Dynamic 0.18s 3.13s Visual C++ 7.1 Xpressive Static 0.18s 1.98s Intel C++ 8.1 Xpressive Static 0.14s 0.99s Visual C++ 7.1 Greta 2.64 2.15s 2.69s Intel C++ 8.1 Greta 2.64 1.85s 2.46 Visual C++ 6.0 PCRE 4.4 0.63s 2.94s Visual C++ 6.0 TRE 0.74 6.97s ERROR Visual C++ 7.1 PCRE 6.4 0.66s 3.15s Intel C++ 8.1 PCRE 6.4 0.53s 2.64s Visual C++ 7.1 Oniguruma 2.56 0.39s 3.15s Intel C++ 8.1 Oniguruma 2.56 0.30s 3.29s Visual C# 7.1 .net Framework 1.1 0.52s 5.80s Java 1.4.2 Standard Library 1.10s 8.83s Java 1.4.2 JRegex 1.2 2.87s 5.22s Python 2.4.2 Standard Library 0.59s 2.57s 下载源代码:500)this.width=500'>Regex_Test.rar


阅读全文(3061) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144840301 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号