Skip to content

Quadratic behavior in xml.etree.ElementPath Index Predicates #152674

Description

@encukou

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

Metadata

Metadata

Assignees

Labels

stdlibStandard Library Python modules in the Lib/ directorytopic-XMLtype-securityA security issue
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions