c++ - 正则表达式性能 : Boost vs. Perl

标签 c++ regex performance perl

我正在寻找 perl 和 boost 正则表达式之间的性能比较。
我需要设计一段非常依赖正则表达式的代码,并且可以选择:

  1. 通过 boost 正则表达式运行它
  2. dispatch perl 解释器并在 perl 中完成工作

我知道 perl 以其优化的字符串处理而闻名。但是,我找不到提升正则表达式库的性能比较。
你知道这样的比较吗?
谢谢

最佳答案

在应用程序中运行 Perl 解释器的启动成本(通过我假设的系统函数)将超过使用 Perl 的正则表达式引擎所获得的任何好处。异常(exception)情况是,如果你有一个非常复杂的正则表达式,Perl 的正则表达式实现恰好针对它进行了优化,但 boost 的正则表达式引擎却没有。

真正的答案是我不知道有任何这样的比较,但是 Perl 的正则表达式工具不一定是最快的。见 here有关在某些表达式上优于 Perl 正则表达式的算法的一些信息。

编辑:可以通过链接到 libperl 或使用 libPCRE 来克服启动完整 perl 解释器的启动成本。 .如果需要,使用 boost 可能会为您提供更多的灵 active 和性能调整选项。

最后说明:在性能方面,boost.regex 和 Perl 的正则表达式之间没有已知的直接比较。解决方案是尝试两者,看看哪个更适合 OP 的具体情况。

(编辑:现在 Boost 和 PCRE 之间有一个很好的比较。参见 http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/gcc-performance.html)

关于c++ - 正则表达式性能 : Boost vs. Perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759991/

相关文章:

c++ - 使用 msvc 时未显示的 Boost Spirit v2 gcc 编译错误

r - 如何使用带有 str_replace_all 的 map 进行多个模式替换

sql - 查询的 Django 回溯

performance - 严格构造函数的部分应用

c++ - GLFW 3.0/C++ 中的空闲线程时间

c++ - 为什么我的 C++ 代码比 R 慢那么多?

c++ - 数组实际上是如何工作的?

Javascript:扫描关键字列表时的 Regex 与 IndexOf

python正则表达式下划线问题

python - 计算python列中所有日期之间的时间差