Needs of feature that disabling optimization pipeline in runtime
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Métriques de merge des PR
- Métriques de PR en attente
Description
@iritkatriel
This feature is needed for debugging or experimentation when handling optimized bytecode.
When I want to take a look at the sequence of bytecodes that is optimized with the specific pipeline but not all pipelines, I need to disable several pipelines from https://github.com/python/cpython/blob/30b4e9f9c42493136c58c56fee5553128bb32428/Python/flowgraph.c#L1843-L1851 and rebuild the CPython it's pretty painful because when I want to change the combination of optimization than I should rebuild CPython every time.
It would be great if there is a way to disable specific optimization pipelines at runtime when I want.
Above example is just one specific case and sometime I want to disable all _PyCfg_OptimizeCodeUnit or part of _PyCfg_OptimizeCodeUnit.
This is what I wanted to ask about at the PyCon and will happy to see your opinion about this.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par Python/flowgraph.c, au niveau du pipeline _PyCfg_OptimizeCodeUnit référencé dans l’issue, et retracez la manière dont ses étapes d’optimisation sont sélectionnées lors de l’exécution. Définissez comment désactiver certaines étapes ou l’ensemble du pipeline sans reconstruire CPython, puis vérifiez que différentes combinaisons d’optimisations peuvent être inspectées comme demandé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, python
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100