mapbox / mapbox/mapbox-base-android
Benchmark and optimize class lookups
Nessuno ha ancora preso questa issue.
- Lingua principale
- Kotlin
- Stelle
- 12
- Fork
- 6
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When https://github.com/mapbox/mapbox-base-android/issues/14 is closed, we can look into running benchmarks on release builds and measuring the impact of reflection class lookups. https://developer.android.com/jetpack/androidx/releases/benchmark looks like a good tool that we can use.
Optimization ideas, TBD:
- potentially,
kotlinf-reflectis able to cut downinvokecalls and class lookup times. We'd need to evaluate binary size increase vs performance improvements if those are confirmed - for all other clients that are not building from source but consuming the pre-built binary instead, we could hardcode the glue classes paths and avoid the reflection overhead
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia controllando l’issue prerequisito #14 e la documentazione di AndroidX Benchmark. Esegui il benchmark delle build di release per misurare le prestazioni della ricerca delle classi tramite reflection, quindi valuta i compromessi in termini di dimensioni binarie e prestazioni tra kotlin-reflect e i percorsi hardcoded glue-class. L’attività è completata quando le alternative hanno risultati misurati e una direzione di ottimizzazione documentata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin
- Ambito
- mobile-dev, performance
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100