When choosing a smartphone, many users are guided by the performance of smartphones and the speed of applications. Because it is difficult to measure the application speed directly, the speed of the application startup is considered and used for comparison. Android runtime (ART) uses several technologies to speed up applications. The first approach is the just-in-time (JIT) compilation of frequently used methods at runtime. The second approach is to compile entire application code ahead of time (AOT). The performance profile is a way to strike a balance between JIT and AOT. The runtime optimization features were introduced in Android Nougat in form of profile-guided optimization (PGO). By aggregating data from a multiplicity of users and devices in Play Store, ART profiling significantly speeds up this process and makes its outcome available to all users alike. We propose a machine learning based method called SPMLGen for generating application profiles used in the optimization. We avoid time delays caused by the need to collect information in advance to perform optimization and ensure user privacy. With profiles generated by SPMLGen, we obtain approximately the same application launch time as with profiles from Play Store. Measurements were taken on Samsung Galaxy S22 and A52 devices with Android 12 firmware and several dozen Samsung applications.
Read full abstract