Производительность XPath и DOM

Кто-нибудь просветит меня подробным сравнением производительности XPath и DOM в разных сценариях? Я читал несколько вопросов в SO, например xPath vs DOM API, у которого производительность лучше и XPath или querySelector? . Ни в одном из них не упоминаются конкретные случаи. Вот кое-что, с чего я мог бы начать.

  1. Никаких итераций. getElementById (foobar) vs // * [@ id = 'foobar']. Быстрее ли первое всегда быстрее, чем второе? Что, если последний будет оптимизирован, например / html / body / div [@ id = 'foo'] / div [@ id = 'foobar']?
  2. Требуется итерация. Затем getElementByX проходит через дочерние узлы, а XPath создает снимок, а затем проходит через элементы снимка.
  3. Задействованная ось. getElementByX затем переходит к следующим братьям и сестрам vs //following-sibling::foobar.[12124 providedDifferent реализациях. Разные браузеры и библиотеки по-разному реализуют XPath и DOM. Реализация XPath в каком браузере лучше?

В ответе в xPath vs DOM API, какой из них имеет лучшую производительность , говорится: средний программист может ошибиться при реализации сложных задач (например, задействованных нескольких осей) в DOM, в то время как XPath гарантированно оптимизирован. Поэтому мой вопрос касается только простого выбора, который можно сделать обоими способами.

Спасибо за любой комментарий.

14
задан Community 23 May 2017 в 01:45
поделиться