Jsoup vs regexes与XPath的性能从HTML中提取内容?

时间:2012-12-07 09:04:39

标签: regex performance xpath jmeter jsoup

我知道通常情况下HTML shouldn't be parsed with regex

但我想对Web应用程序进行性能测试。我确切知道HTML的外观。所以我可以使用正则表达式从页面源中提取一些数据。

当我进行性能测试(使用Jmeter)时,我想从主机上获取更少的资源。

什么选项会减少资源:XPath,正则表达式(Jakarta ORO)或Jsoup?

1 个答案:

答案 0 :(得分:2)

从JMeter 2.8开始,答案是Regexp。 但它当然取决于您使用的Regexp表达式。 JMeter中的Regexp实现相当优化,是相关的主要后处理方式。

关于JSoup,它需要基于JSR223后处理器的自定义编码。

JMeter 2.9将引入一个基于Extractor的新的CSS / JQuery选择器,它有两个可能的底层实现:

见:

它的性能将低于Regexp,因为它构建了一个DOM文档,但它在测试计划中简化了许多不需要超优化测试计划的语法。

最后,关于XPath,因为它构建了一个DOM树:

它的内存和CPU成本高于正则表达式,特别是如果你想提取许多元素,已经创建了一个增强功能: