我正在寻找 perl 和 boost 正则表达式之间的性能比较。
我需要设计一段非常依赖正则表达式的代码,并且可以选择:
- 通过 boost 正则表达式运行它
- 调度一个 Perl 解释器并在 Perl 中完成工作
我知道 Perl 以其优化的字符串处理而闻名。但是,我找不到与 boost 正则表达式库的性能比较。
你知道有这样的比较吗?
Thanks
从应用程序中运行 Perl 解释器(我认为通过系统函数)的启动成本将超过使用 Perl 正则表达式引擎所获得的任何好处。例外情况是,如果您有一个非常复杂的正则表达式,Perl 的正则表达式实现恰好针对该表达式进行了优化,但 boost 的正则表达式引擎却没有。
真正的答案是我不知道有任何这样的比较,但 Perl 的正则表达式工具不一定是最快的。看here http://swtch.com/~rsc/regexp/regexp1.html有关在某些表达式上击败 Perl 正则表达式的算法的一些信息。
编辑:可以通过链接到 libperl 或使用来克服启动完整 perl 解释器的启动成本libPCRE http://www.pcre.org/。如果您需要的话,使用 boost 可能会给您带来更多的灵活性和性能调整选项。
最后注意:在性能方面,boost.regex 和 Perl 的正则表达式之间没有已知的直接比较。解决方案是尝试两者,看看哪一个对于 OP 的具体情况更有效。
(编辑:现在 Boost 和 PCRE 之间有一个很好的比较。参见http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/gcc-performance.html http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/gcc-performance.html)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)