Element.findall() and fully-consumed Element.iterfind() exhibit O(n^2) time complexity when using XPath index predicates ([1], [last()], [last()-N]) on XML documents with many same-tag siblings.
Element.find() is only affected when the first match is near the end of the sibling list, such as with [last()] or [last()-N]; .//item[1] short-circuits after the first match.
(reported privately by @DarkaMaul)
Linked PRs
Element.findall()and fully-consumedElement.iterfind()exhibit O(n^2) time complexity when using XPath index predicates ([1],[last()],[last()-N]) on XML documents with many same-tag siblings.Element.find()is only affected when the first match is near the end of the sibling list, such as with[last()]or[last()-N];.//item[1]short-circuits after the first match.(reported privately by @DarkaMaul)
Linked PRs