Avoid excessive stack usage in all cases.

Ouverte
#94,445 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

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

Piste de recherche

Aucun fichier source ni test n’est indiqué. Examinez d’abord les PR gh-99237 et gh-99262, puis suivez les vérifications des objets de code et des piles de frames de Python 3.11 décrites dans l’issue. Le travail est considéré comme terminé lorsqu’un nombre borné de slots par objet de code est garanti et que les limites obtenues ainsi que le comportement de vérification de la récursion sont validés.

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

Description

3.12 interpreter-core performance

In 3.11 we asserted that we didn't use too much stack, but that failed https://github.com/python/cpython/issues/94329

If we can guarantee that no code object uses more than a certain number of slots, N, where N should be in the order of a 100, we can potentially simplify and speed up bounds and recursion checking by combining them.

It also means we can use fixed size chunks for the frame stack, as we know that no frame can be larger than a chunk.

  • PR: gh-99237
  • PR: gh-99262
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

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.

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.