[C++] Investigate scalar.h usage and reduce cost of function.h include
- Lenguaje dominante
- C++
- Estrellas
- 17.1k
- Forks
- 4.3k
- Merge medio
- 3 d 23 h
- PR fusionados (30 d)
- 101
Descripción
### Describe the enhancement requested
Scalars are usually passed around via shared_ptr. So we can often get away with a forward declaration. However, clang build analyzer reports that the scalar.h header is included quite often. We should investigate why this is and see if we can shave a bit of time off our builds by fixing it.
In addition, the function.h include is rather heavy. It is included often because it is needed by the api_xyz.h files in the compute module. However, these files only need the function options. We should see if breaking function options into its own file helps shave down the build time.
### Component(s)
C++
Guía de contribución
Línea de trabajo
Usa clang build analyzer para investigar por qué scalar.h se incluye con tanta frecuencia, centrándote en los usos de shared_ptr y en las oportunidades para usar declaraciones adelantadas. Después, inspecciona function.h y los archivos api_xyz.h del módulo compute para determinar si separar las opciones de las funciones reduce el coste de las inclusiones. Se considera hecho cuando se documenta el impacto medido en la compilación y se hace que la estructura de inclusiones sea adecuadamente más ligera.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- build-system, performance
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100