apache / apache/arrow

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

Offen
#36,246 23 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: C++ good-second-issue Type: enhancement
Vorherrschende Sprache
C++
Sterne
17.1k
Forks
4.3k
Ø Merge
3 T. 18 Std.
Gemergte PRs (30 T.)
91

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Verwende den clang build analyzer, um zu untersuchen, warum scalar.h so häufig eingebunden wird, und konzentriere dich dabei auf die Verwendung von shared_ptr und Möglichkeiten für Vorwärtsdeklarationen. Untersuche anschließend function.h und die api_xyz.h-Dateien im compute-Modul, um festzustellen, ob das Trennen der Funktionsoptionen die Include-Kosten reduziert. Erledigt bedeutet, die gemessenen Auswirkungen auf den Build zu dokumentieren und die Include-Struktur entsprechend schlanker zu gestalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
build-system, performance
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.