Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve speed of pip list --outdated via parallelization #7964

Closed
CrafterKolyan opened this issue Apr 2, 2020 · 0 comments · Fixed by #7962
Closed

Improve speed of pip list --outdated via parallelization #7964

CrafterKolyan opened this issue Apr 2, 2020 · 0 comments · Fixed by #7962
Labels
auto-locked Outdated issues that have been locked by automation type: enhancement Improvements to functionality

Comments

@CrafterKolyan
Copy link
Contributor

CrafterKolyan commented Apr 2, 2020

Environment

  • pip version: 20.0.2
  • Python version: 3.6.9
  • OS: Any

Description
pip list --outdated works slow in case of many packages. Currently 50% of real time is wasted on requests result waiting. (real time is much higher than user time)

Expected behavior
pip list --outdated sends queries in parallel (real time is almost equal to user time)

How to Reproduce
Linux/Mac OS X:

python3 -m venv venv
source venv/bin/activate
pip install -U setuptools
pip install -U pip
pip install numpy scipy pandas matplotlib seaborn statsmodels sklearn jupyter tqdm requests six catalyst PyQt5
time python3 -m pip list --outdated
deactivate
rm -rf venv

Watch on time output.

Windows 10 (not good reproduction):
In Powershell (not cmd):

python -m venv venv
.\venv\Scripts\activate.bat
pip install -U setuptools
python -m pip install -U pip
pip install numpy scipy pandas matplotlib seaborn statsmodels sklearn jupyter tqdm requests six catalyst PyQt5
(Measure-Command {pip list --outdated}).TotalSeconds
.\venv\Scripts\deactivate.bat
Remove-Item -path venv -recurse

Watch Measure-Command output.
Or use Windows Linux Subsystem to reproduce this.

Output
image

@triage-new-issues triage-new-issues bot added the S: needs triage Issues/PRs that need to be triaged label Apr 2, 2020
@pradyunsg pradyunsg added the type: enhancement Improvements to functionality label Apr 9, 2020
@triage-new-issues triage-new-issues bot removed the S: needs triage Issues/PRs that need to be triaged label Apr 9, 2020
@pradyunsg pradyunsg changed the title Slow requesting of package versions Improve speed of pip list --outdated via parallelization Apr 9, 2020
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label May 20, 2020
@lock lock bot locked as resolved and limited conversation to collaborators May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation type: enhancement Improvements to functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants