Reduce perf trampoline overhead

Ouverte
#161,676 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
20/100
Type d'issue
Refactorisation
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
performance

Piste de recherche

Start by reading the linked PR gh-161677, which may show where work has moved. The issue identifies the -X perf PEP 523 trampoline and reports slowdowns across generators, calls, and pyperformance, but names no files or tests. Compare the implementation and benchmark results there; done means reducing the reported overhead.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

interpreter-core performance type-feature

-X perf makes Python code much slower. The perf trampoline is a PEP 523 hook, so specialized calls and generator resumes are disabled while it is active, and the trampoline evaluator keeps an extra native frame alive on every call.

Slowdown with -X perf on main (PGO + ThinLTO, Clang 21):

Benchmark Slowdown
generators +234%
generator_resumes +72%
python_calls +50%
scimark_lu +42%
pyperformance (geometric mean) +12%
Linked PRs
  • gh-161677
Langage dominant
Python
Étoiles
78.2k
Forks
36.6k
Merge moyen
19 h 57 min
PR mergées (30 j)
630

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/cpython

Toutes les issues de python/cpython

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.