apache / apache/datafusion

[DISCUSSION] Reduce the DataFusion WASM size

Offen
#16,554 7 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Rust
Sterne
9.3k
Forks
2.4k
Ø Merge
3 T. 11 Std.
Gemergte PRs (30 T.)
360

Beschreibung

### Is your feature request related to a problem or challenge?

I have heard annecedotally a few times from different people that the size of the compiled WASM file for DataFusion is large (10MB?). This large size slows down page load times for webpages that use the DataFusion WASM.

I have heard this concern from @emilk @timsaucer @XiangpengHao at least Maybe @jonmmease or @waynexia too (but I can't remember for sure)

### Describe the solution you'd like

I would like some way to reduce the size of the final WASM package (perhaps optionally)

### Describe alternatives you've considered

Today when you build DataFusion it comes with many features (like support for all compression libraries for Parquet and functions specialized for multiple different types of Arrow arrays -- `StringArray`, and `LargeStringArray` and `StringViewArray` for example

One thing we could consider is feature flagging out many of the extra copies of code for different data formats somehow.

I think the challenge will be managing the complexity that this adds to build/ runtime.

### Additional context

- Epic WASM: #13815

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit Epic WASM #13815 und dem aktuellen DataFusion WASM-Build und messen Sie anschließend das kompilierte Paket sowie die Beiträge seiner compression-library- und Arrow-array-Features. Als abgeschlossen gilt die Definition eines konkreten, optional kleineren Builds sowie die Bewertung seiner Größe und seiner Laufzeit-/Build-Komplexität.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust, wasm
Bereich
build-system, performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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