New submission from Sorin Sbarnea <sorin.sbar...@gmail.com>:

As the results of investigating a very poor performance of pip while trying to 
install some code I was able to identify that the root cause was the current 
implementation of distutils.filelist.findall or to be more precise the 
_find_all_simple function, which does followsymlinks but without any measures 
for preventing recursivity and duplicates.

To give an idea in my case it was taking 5-10minutes to run while the CPU was 
at 100%, for a repository with 95k files (most of them temp inside .tox 
folders). Removal of the symlinks did make it run in ~5s.

IMHO, _find_all_simple should normalize paths and avoid returning any 
duplicates.


Realted: https://bugs.launchpad.net/pbr/+bug/1933311

----------
components: Distutils
messages: 396394
nosy: dstufft, eric.araujo, ssbarnea
priority: normal
severity: normal
status: open
title: distutil findall can choke with recursive symlinks (performance)
versions: Python 3.10, Python 3.11, Python 3.6, Python 3.7, Python 3.8, Python 
3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44497>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to