pip/src/pip/_internal
Xavier Fernandez 5ec275fca2 Cache find_best_candidate results
This is possible because self.make_candidate_evaluator only depends
on:
- the function arguments which are keys to the cache
- self._target_python which never changes during a pip resolution
- self._candidate_prefs which never changes during a pip resolution

On a fresh install, pip install <a package with ~ 100 dependencies>
runs on my machine in:

master (a0e34e9cf7)
=======================

0m33.058s
0m34.105s
0m32.426s

This commit
===========

0m15.860s
0m16.254s
0m15.910s

pip 20.2.4 - legacy resolver
============================

0m15.145s
0m15.040s
0m15.152s
2020-10-31 16:22:59 +01:00
..
cli Merge pull request #9073 from xavfernandez/freeze_list_exclude 2020-10-31 15:25:53 +05:30
commands Add --exclude option to pip freeze and pip list commands 2020-10-30 21:50:59 +01:00
distributions Update linter: isort 2020-09-23 19:52:28 +05:30
index Cache find_best_candidate results 2020-10-31 16:22:59 +01:00
models Support multiple `abi` and `platform` values for `pip download`. 2020-10-27 19:00:22 -04:00
network Prepare isort for black 2020-09-23 21:47:47 +05:30
operations New resolver: Avoid polluting dest dir 2020-10-07 13:42:21 +07:00
req Remove --build-dir option, as per deprecation 2020-10-27 15:24:36 +00:00
resolution resolver: stabilize output for tests (& users) 2020-10-31 00:07:34 +01:00
utils utils: make Hashes object hashable 2020-10-31 15:54:54 +01:00
vcs Prepare isort for black 2020-09-23 21:47:47 +05:30
__init__.py Update linter: isort 2020-09-23 19:52:28 +05:30
build_env.py Update linter: isort 2020-09-23 19:52:28 +05:30
cache.py Update linter: isort 2020-09-23 19:52:28 +05:30
configuration.py Update linter: isort 2020-09-23 19:52:28 +05:30
exceptions.py Bump mypy to 0.790 for Python 3.9 compat 2020-10-12 17:37:55 +07:00
locations.py Update linter: isort 2020-09-23 19:52:28 +05:30
main.py Update linter: isort 2020-09-23 19:52:28 +05:30
pyproject.py Update linter: isort 2020-09-23 19:52:28 +05:30
self_outdated_check.py Prepare isort for black 2020-09-23 21:47:47 +05:30
wheel_builder.py Update linter: isort 2020-09-23 19:52:28 +05:30