pyenv-latest: fast path for when there is an exact match (#3437)

Avoids O(N^2) complexity when `pyenv-latest` is called in a loop
for existing entries
This commit is contained in:
native-api 2026-04-24 00:34:40 +03:00 committed by GitHub
parent dfb1a96c3e
commit 6481d1451d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -10,6 +10,7 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
while [[ $# -gt 0 ]]
do
case "$1" in
@ -38,6 +39,10 @@ exitcode=0
IFS=$'\n'
if [[ -z $FROM_KNOWN ]]; then
if [[ -d $PYENV_ROOT/versions/$prefix ]]; then
echo "$prefix"
exit $exitcode;
fi
DEFINITION_CANDIDATES=( $(pyenv-versions --bare --skip-envs) )
else
DEFINITION_CANDIDATES=( $(python-build --definitions ) )