Будет ли кто-нибудь проинформировать меня о каком-то общем сопоставлении производительности между XPath и DOM в разных сценариях? Я прочитал несколько вопросов в SO, например xPath vs DOM API, который имеет лучшую производительность и XPath или querySelector?. Ни один из них не упоминает конкретные случаи. Здесь я мог бы начать с.
- Никакой итерации. getElementById (foobar) vs//* [@id = 'foobar']. Бывает ли он быстрее, чем последний? Что, если последняя оптимизирована, например./Html/тело/DIV [@ид = 'Foo']/дел [@ид = 'Foobar']?
- Итерация. getElementByX, затем перейдите через дочерние узлы против XPath, создайте моментальный снимок, затем перейдите через элементы моментального снимка.
- Используемая ось. getElementByX затем переходите к следующим сиблингам vs//follow-sibling:: foobar.
- Различные реализации. Различные браузеры и библиотеки реализуют XPath и DOM по-разному. Какая версия браузера XPath лучше?
Как ответ в xPath против DOM API, который имеет лучшую производительность, говорит, что средний программист может испортить себя при реализации сложных задач (например, задействованных нескольких осей) DOM, в то время как XPath гарантированно оптимизирован. Поэтому мой вопрос касается только простых выборов, которые могут быть выполнены в обоих направлениях.
Спасибо за любой комментарий.