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

Use faster APIs to calculate paths at startup for Store packaged Python on Windows #99345

Merged
merged 4 commits into from
Nov 23, 2022

Conversation

zooba
Copy link
Member

@zooba zooba commented Nov 10, 2022

These APIs were added in Windows 8, so we can safely backport.

@zooba
Copy link
Member Author

zooba commented Nov 10, 2022

The rough testing I did showed about 50% reduction in startup time (~450ms->250ms) in non-ideal circumstances, but the Windows devs I was working with said it seemed right. The numbers were pretty stable.

@zooba
Copy link
Member Author

zooba commented Nov 10, 2022

Okay, had to retract one of the major optimisations because it can be incorrect. That brings the improvement down to around 50ms, which is still worthwhile, but not as impressive.

However, users can at least override this perf impact by setting their own PYTHONUSERBASE env variable before launching.

@zooba
Copy link
Member Author

zooba commented Nov 10, 2022

It's possible we might be able to bring that optimisation back, looks like Windows covers the concerning edge cases for us. Still checking

@zooba zooba added DO-NOT-MERGE performance Performance or resource usage labels Nov 10, 2022
@zooba zooba merged commit 71a4a2d into python:main Nov 23, 2022
@miss-islington
Copy link
Contributor

Thanks @zooba for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-99733 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Nov 23, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 23, 2022
…on on Windows (pythonGH-99345)

(cherry picked from commit 71a4a2d)

Co-authored-by: Steve Dower <steve.dower@python.org>
@bedevere-bot
Copy link

GH-99734 is a backport of this pull request to the 3.10 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Nov 23, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 23, 2022
…on on Windows (pythonGH-99345)

(cherry picked from commit 71a4a2d)

Co-authored-by: Steve Dower <steve.dower@python.org>
miss-islington added a commit that referenced this pull request Nov 23, 2022
…on on Windows (GH-99345)

(cherry picked from commit 71a4a2d)

Co-authored-by: Steve Dower <steve.dower@python.org>
miss-islington added a commit that referenced this pull request Nov 23, 2022
…on on Windows (GH-99345)

(cherry picked from commit 71a4a2d)

Co-authored-by: Steve Dower <steve.dower@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance or resource usage skip issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants