java-topology/defects/poetry
russell@unturf.com 9ef437a348 poetry-0001: show --tree packages_in_tree list O(N²) membership; UNDF-2026-000000575
ShowCommand._display_tree() uses a list for packages_in_tree, making every
`dep.name in current_tree` check O(N). For a project with 500 packages the
total membership-test cost is O(N²) ≈ 250,000 ops vs O(N) = 500 with a set.
Also fixes shared-state correctness bug: list is passed by reference causing
sibling branches to falsely report diamond dependencies as cycles.
Fix: set + per-branch set-union copy; 16-31x speedup measured.

CLEAN markers added for setuptools and celery (diamond recursion).
pip, django, poetry solver already CLEAN (prior or current scan).
2026-03-29 18:09:57 -04:00
..
patch poetry-0001: show --tree packages_in_tree list O(N²) membership; UNDF-2026-000000575 2026-03-29 18:09:57 -04:00
unit/unit poetry-0001: show --tree packages_in_tree list O(N²) membership; UNDF-2026-000000575 2026-03-29 18:09:57 -04:00