【问题标题】:How do I analyze a PCRE pattern?如何分析 PCRE 模式?
【发布时间】:2012-12-01 11:29:28
【问题描述】:

我需要对 PCRE 模式的时间和内存进行性能分析。 下面的一些参数是使用pcre_fullinfopcre_exec 函数从模式中提取的。

  • 编译模式的大小
  • 最高后向参考编号
  • 捕获子模式的数量
  • 命名子模式的数量
  • 在随机缓冲区中找到匹配的时间

现在的问题是这些参数是否足够,或者我可以使用其他参数进行更好的分析吗?

【问题讨论】:

    标签: c++ performance pcre


    【解决方案1】:

    hamed,挖掘这个古老的问题,因为它是一个很好的问题,而且我看到你仍然很活跃。

    事实证明,PCRE 附带了一个非常有用的测试实用程序,称为 pcretest。除此之外,它还允许您在引擎尝试匹配字符串时跟踪引擎的路径,并允许您指定运行次数。

    如果您使用的是 Unix 或 OSX,则必须按照pcre.org 上的下载链接编译 pcretest。该软件包包含制作文件所需的一切。如果您使用的是 Windows,pcre.org 首页会告诉您从何处获取最新的 pcretest 二进制文件以及 Windows pcregrep 二进制文件,它也是 pcre 测试套件的一部分。

    选项列表很长。

    1. 要在控制台中查看概览,请输入 pcretest --help
    2. 对于“入门”用法,请阅读提供 Windows 二进制文件(见上文)
    3. 如需完整路线,请参阅official pcretest documentation

    【讨论】: