apache / apache/arrow

[C++] Investigate scalar.h usage and reduce cost of function.h include

Abierto
#36,246 23 comentarios 0 reacciones 0 asignados Ver en GitHub
Component: C++ good-second-issue Type: enhancement
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.