[DISCUSSION] Reduce the DataFusion WASM size
- 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
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