benchmark: use baseline-profile to improve app performance and loading times
Description
Use a generated Baseline Profile to make the app load faster and improve overall performance.
Signing with platform.keystore
as benchmark requires a release build and those are signed with the same keys.
// timeToInitialDisplayMs – Time from the system receiving a launch intent until rendering the first frame of the destination Activity.
// frameDurationCpuMs – How much time the frame took to be produced on the CPU – on both the UI Thread, and RenderThread.
// Without Baseline Profile
StartupBenchmark_startupCompilationModeNone
timeToInitialDisplayMs min 16.4, median 243.6, max 625.2
frameDurationCpuMs P50 8.7, P90 46.7, P95 72.6, P99 112.8
frameOverrunMs P50 12.9, P90 149.7, P95 159.8, P99 259.6
Traces: Iteration 0 1 2 3 4
// With Baseline Profile
StartupBenchmark_startupCompilationBaselineProfile
timeToInitialDisplayMs min 160.8, median 169.4, max 173.9
frameDurationCpuMs P50 7.9, P90 24.4, P95 54.7, P99 62.7
frameOverrunMs P50 -2.7, P90 70.6, P95 90.5, P99 123.3
Traces: Iteration 0 1 2 3 4
Issues
Related to e/backlog#2414 (closed)
10 commandments of code reviews
Edited by Yash Garg