-
Notifications
You must be signed in to change notification settings - Fork 529
Runtime Performance Ideas
Runtime performance is important for our users. We care about the startup performance and also the performance in general.
Type of measurements we use to analyze the runtime performance
-
Profiler - we use manual measurements with profiler to analyze the performance of the managed code. Usually the calls, alloc and sample reports.
-
New JNI marshal methods to speedup startup by avoiding System.Reflection.Emit use. That would hopefully provide faster marshal methods registration and reduce the JIT time and apk size
-
Profiled AOT - the idea is to AOT just the startup code to make apk size smaller, while preserve fast startup. (AOT startup is about 2 times faster)
-
Run some of the regular tests with profiling. Process and use the data in the time plots
-
Assemblies loading - do not try to load AOT'ed assemblies when we know they are not in the apk (Release configuration)
-
Fix Bcl test measurements and add them to the plots again
-
Generate and use JNI marshal methods for constructors used in the ConstructorBuilder to avoid last System.Reflection.Emit use
- APK Tests on the Hyper V Emulator
- Design Time Build System
- Profile MSBuild Tasks
- Diagnose Fast Deployment Issues
- Preview layout XML files with Android Studio
- Documentation