我知道在常见情况下HTML shouldn't be parsed with regex .
但是我想对网络应用程序进行性能测试。我非常清楚 HTML 的样子。因此,我可以使用正则表达式从页面源中提取一些数据。
当我进行性能测试(使用 Jmeter)时,我想从主机上占用更少的资源。
哪个选项资源消耗较少:XPath、正则表达式 (Jakarta ORO) 还是 Jsoup?
最佳答案
从 JMeter 2.8 开始,答案是 Regexp。 但这当然取决于您使用的正则表达式。 JMeter 中的正则表达式实现相当优化,是相关性的主要后处理方式。
对于 JSoup,它需要基于 JSR223 后处理器的自定义编码。
JMeter 2.9 将引入一个新的基于 CSS/JQuery 选择器的 Extractor,具有 2 种可能的底层实现:
参见:
当它构建 DOM 文档时,它的性能将低于 Regexp,但它简化了测试计划中的许多语法,不需要超优化的测试计划。
最后,关于 XPath,因为它构建了 DOM 树:
它的内存和 CPU 成本高于正则表达式,特别是如果您想提取许多元素,已创建增强功能:
关于regex - Jsoup、正则表达式、XPath 从 HTML 提取内容的性能比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13759916/