如何分析PCRE模式?

ham*_*med 5 c++ performance pcre

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

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

现在问题是这些参数是否足够,还是有其他我可以用来进行更好的分析?

zx8*_*x81 3

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

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

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

选项列表很长。

  1. 要获得控制台中的概述,请键入pcretest --help
  2. 对于“入门”用法,请阅读提供 Windows 二进制文件的页面(见上文)
  3. 有关完整说明,请参阅官方 pcretest 文档