GeezerVison is showing github.com — gh-138122: Move local imports to module level in sampling profiler by pablogsal · Pull Request #143257 · python/cpython
Conversation
pablogsal
commented
Dec 28, 2025
•
edited by bedevere-app
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
The sampling profiler code had numerous imports placed inside functions
rather than at module level. While deferred imports can reduce startup
time for rarely-used code paths, these imports were in functions called
during normal profiler operation, adding repeated import overhead.
Moving imports to module level follows Python best practices for code
that runs frequently. This makes import dependencies explicit at file
scope and eliminates per-call import lookup costs. The test files also
had redundant local imports that duplicated module-level imports.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
The sampling profiler code had numerous imports placed inside functions
rather than at module level. While deferred imports can reduce startup
time for rarely-used code paths, these imports were in functions called
during normal profiler operation, adding repeated import overhead.
Moving imports to module level follows Python best practices for code
that runs frequently. This makes import dependencies explicit at file
scope and eliminates per-call import lookup costs. The test files also
had redundant local imports that duplicated module-level imports.
picnixz
changed the title
Move local imports to module level in sampling profiler
gh-138122: Move local imports to module level in sampling profiler
Dec 28, 2025
Keep curses import as a local import in sample_live() since curses
is not available on Windows. The original code had this as a local
import to avoid breaking Windows tests that import the module.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.