正则表达式库基准测试

4

最近我一直在思考正则表达式实现的性能,并且很难找到有用的信息。

虽然在网络上有很多工具可以测试浏览器/JavaScript的正则表达式性能,Chrome和Opera的JavaScript正则表达式实现几乎可以击败其他主要浏览器。

但是,当涉及到最快的C++、Java、C#、Python等正则表达式实现时,很少有好的基准测试或比较。

那么,在具有完整特性实现的正则表达式库中,哪个是最快的呢?(不太关心反向引用)


RE2似乎是目前最快的正则表达式库。http://code.google.com/p/re2/ - mhitza
3
经典文章:正则表达式匹配可以简单快速(http://swtch.com/~rsc/regexp/regexp1.html)。 - anno
1个回答

6

re2 是我最早关注的之一。我相信它被用于 v8? - jdc0589
据我所知,Google Chrome(因此可能完全是V8)使用Irregexp:http://blog.chromium.org/2009/02/irregexp-google-chromes-new-regexp.html。 - Wolph
我正在编辑我的评论,你的时机真好。 - jdc0589
我对boost库的糟糕性能感到非常惊讶。 - anno
2
我已经使用VC2010测试了这段代码,TR1在第一个模式下比Boost.Regex快2倍,其余模式没有区别。而且我的性能表现远远不及测试中的糟糕表现。 - anno
@anno: 结果取决于正则表达式的类型和输入的类型。例如,re2 引擎在处理大量文本时效果很好,但在处理少量文本时速度较慢。而像 (foo|bar) 这样的正则表达式在许多正则表达式引擎中都比较慢。 - Wolph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接