GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

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

@pablogsal pablogsal commented Dec 28, 2025 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

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.

  • Issue: Implement PEP 799 – A dedicated profiling package for organizing Python profiling tools #138122

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@pablogsal
Move local imports to module level in sampling profiler
2f2b091
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.
@bedevere-app bedevere-app Bot added the awaiting core review label Dec 28, 2025
@pablogsal pablogsal added skip issue skip news and removed awaiting core review labels Dec 28, 2025
@picnixz 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
@picnixz picnixz removed the skip issue label Dec 28, 2025
@bedevere-app bedevere-app Bot mentioned this pull request Dec 28, 2025
Implement PEP 799 – A dedicated profiling package for organizing Python profiling tools #138122
Closed
@picnixz picnixz added the type-refactor Code refactoring (with no changes in behavior) label Dec 28, 2025
pablogsal added 2 commits January 1, 2026 19:52
@pablogsal
fixup! Move local imports to module level in sampling profiler
0f57ae3
@pablogsal
fixup! Move local imports to module level in sampling profiler
ea11292
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.
@pablogsal
pablogsal force-pushed the imports branch from 355f627 to ea11292 Compare January 1, 2026 20:36
pablogsal added 2 commits January 1, 2026 20:59
@pablogsal
fixup! fixup! Move local imports to module level in sampling profiler
fe08e34
@pablogsal
fixup! fixup! fixup! Move local imports to module level in sampling p…
c8ac20d
…rofiler
@pablogsal
pablogsal force-pushed the imports branch from c17097f to c8ac20d Compare January 2, 2026 01:58
@pablogsal
Merge branch 'main' into imports
0cd7ba1
@pablogsal
pablogsal enabled auto-merge (squash) January 2, 2026 02:05
@pablogsal
pablogsal merged commit 6b9a6c6 into python:main Jan 2, 2026
44 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal
pablogsal deleted the imports branch January 2, 2026 02:31
thunder-coding pushed a commit to thunder-coding/cpython that referenced this pull request Feb 15, 2026
@pablogsal @thunder-coding
pythongh-138122: Move local imports to module level in sampling profi…
800514c
…ler (python#143257)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news type-refactor Code refactoring (with no changes in behavior)

Projects

None yet

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.

2 participants

@pablogsal @picnixz
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.