apache / apache/arrow

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

Aperta
#36,246 23 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Component: C++ good-second-issue Type: enhancement
Lingua principale
C++
Stelle
17.1k
Fork
4.3k
Merge medio
3g 18h
PR unite (30g)
91

Descrizione

### 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++

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Usa clang build analyzer per analizzare perché scalar.h viene incluso così spesso, concentrandoti sugli utilizzi di shared_ptr e sulle opportunità di usare dichiarazioni anticipate. Poi esamina function.h e i file api_xyz.h nel modulo compute per determinare se separare le opzioni delle funzioni riduce il costo degli include. Il lavoro è completato quando l’impatto misurato sulla build è documentato e la struttura degli include è stata alleggerita di conseguenza.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
build-system, performance
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.