Needs of feature that disabling optimization pipeline in runtime
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
@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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con Python/flowgraph.c en la canalización _PyCfg_OptimizeCodeUnit mencionada en el issue y sigue cómo se seleccionan sus etapas de optimización durante la ejecución. Define cómo se podrían deshabilitar etapas específicas o toda la canalización sin recompilar CPython y, a continuación, verifica que se puedan inspeccionar distintas combinaciones de optimización según lo solicitado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, python
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100