python / python/cpython

Reduce overhead of pushing and popping frames in Python-to-Python calls.

Ouverte
#93,897 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

3.12 interpreter-core performance
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

Description

The cost of pushing a frame for Python-to-Python calls is much lower than it used to be, but still considerably higher than it could be.

Pushing a frame should be little more than a space check and a pointer bump. Similarly popping the frame, should just be a pointer adjustment.

We want to be able to add "shim" and proxy frames for performance and debugging. To be able to do that, the cost of frame popping and pushing should be as low as possible.

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Aucun fichier, test ou point d’entrée concret n’est nommé. Commencez par localiser l’implémentation du push et du pop des frames pour les appels Python-to-Python, puis établissez des mesures de l’overhead actuel ; le travail est considéré comme terminé lorsque ces opérations sont réduites pour se rapprocher des objectifs indiqués de space-check, de pointer-bump et d’ajustement de pointeur, tout en préservant la prise en charge des frames shim et proxy.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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