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

我知道在通常情况下,不应使用regex解析HTML。

但是我想对Web应用程序进行性能测试。我肯定知道HTML可能是什么样子。因此,我 可以 使用正则表达式从页面源中提取一些数据。

在进行性能测试(使用Jmeter)时,我希望从主计算机上占用更少的资源。

哪个选项会减少资源消耗:XPath,正则表达式(Jakarta ORO)或Jsoup?

回答:

从JMeter

2.8开始,答案是Regexp。但这当然取决于您使用的Regexp表达式。JMeter中的正则表达式实现已进行了相当优化,并且是相关性的主要后处理方式。

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

JMeter 2.9将引入新的基于CSS / JQuery选择器的Extractor,并提供2种可能的基础实现:

  • JSOUP

  • 乔德· 拉加托(CSSelly)

见:

  • https://issues.apache.org/bugzilla/show_bug.cgi?id=54259

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

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

  • http://www.developer.com/xml/article.php/3397691/Does-StAX-Belong-in-Your-XML-Toolbox.htm

它具有比正则表达式更高的内存和CPU成本,特别是如果您要提取许多元素,则创建了增强功能:

  • https://issues.apache.org/bugzilla/show_bug.cgi?id=53973

以上是 Jsoup与regexes与XPath从HTML提取内容的性能? 的全部内容, 来源链接: utcz.com/qa/405375.html

回到顶部