Вы вряд ли увидите огромную разницу в производительности при изменении *
на span
.
Большее влияние на производительность устранит или, по крайней мере, ограничит нисходящую ось //
.
При наличии оси-потомка, которая начинается у корневого узла, вы заставляете механизм XPath проходить по всему дереву узлов и проверять каждый элемент, что может быть дорого для больших документов.
Если вы предоставите какие-либо сведения о конструкции, двигатель сможет избежать ненужной работы и работать лучше.
Например:
/html/body/section[2]/div//*[@id="priceblock_dealprice"]
Помимо производительности, другие вопросы - это обслуживание и гибкость.
Вы можете получить более высокую производительность с более конкретным XPath, но тогда изменения структуры страницы и имен элементов могут привести к тому, что вещи больше не будут совпадать.Вам нужно будет решить, что важнее.