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