Ore*_*n S 13 c++ regex perl performance
我正在寻找perl和boost正则表达式之间的性能比较.
我需要设计一段非常依赖正则表达式的代码,并且可以选择:
我知道perl以其优化的字符串处理而闻名.但是,我找不到性能比较来提升正则表达式库.
你知道任何这样的比较吗?
谢谢
bar*_*ley 12
从您的应用程序中运行Perl解释器的启动成本(通过我假设的系统函数)将超过您使用Perl的正则表达式引擎获得的任何好处.例外情况是,如果你有一个非常复杂的正则表达式,Perl的正则表达式实现恰好被优化,但boost的正则表达式引擎不是.
真正的答案是我不知道任何这样的比较,但Perl的正则表达设施不一定是最快的.请参阅此处,了解有关某些表达式击败Perl正则表达式的算法的一些信息.
编辑:通过链接到libperl或使用libPCRE,可以克服启动完整perl解释器的启动成本.如果需要,使用boost可能会为您提供更多灵活性和性能调整选项.
最后注意:在性能方面,boost.regex和Perl的正则表达式之间没有已知的直接比较.解决方案是尝试两者,看看哪个更适合OP的具体情况.
(编辑:现在Boost和PCRE之间有一个很好的比较.请参阅http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/gcc-performance.html)
如果你还没有看到它,那么在Great Language Shootout中有一个regexp基准.它根本没有将Perl排名很高.Boost实现使用boost::xpressive排在第一位(在编译时预先编译表达式).但是,这是一个微基准,所以可能无法代表一般正则表达速度,但仍值得一看.
令人惊讶的是,到目前为止,显然最快的正则表达式引擎是Google Chrome的V8 JavaScript JIT(在挂钟时间内几乎胜过GCC,只使用一个CPU核心)
| 归档时间: |
|
| 查看次数: |
8087 次 |
| 最近记录: |