python / python/cpython

Move Tier 2 interpreter out of `_PyEval_EvalFrameDefault`

Ouverte
#116,970 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

interpreter-core
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

See discussion starting here: https://github.com/faster-cpython/ideas/issues/631#issuecomment-1995191531

Basically, we see no real perf improvement for having the two switches inside the same function, and we have some indication that on Windows the compiler is failing to optimize this giant function. In addition, the logic for each of the interpreters is somewhat complicated due to sharing variables and labels.

This is not as simple as reverting gh-111428 (issue gh-111520), but in the abstract, that's the proposal.

The priority isn't clear, but it's probably doing before the 3.13 feature freeze.

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

Commencez par la discussion liée de faster-cpython, puis examinez _PyEval_EvalFrameDefault et la logique environnante de l’interpréteur Tier 2. Déterminez comment les deux interpréteurs partagent actuellement les variables et les labels, et quelles limites sont nécessaires pour les séparer. Le travail est considéré comme terminé lorsque l’interpréteur Tier 2 a été extrait, que le comportement de l’interpréteur est préservé et que le problème d’optimisation mentionné est traité.

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

Évaluation

Stack technique
python
Domaine
compilers, 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.