Replaces the SystemServer Benchmark activity with one that has several sets of benchmarks grouped into categories. This will make it easier to add more benchmarks that do not logically fit with the categories we already have. This does not remove any of the other benchmark activities, but in a follow up CL, we should remove those since they are covered by the Interactive Microbenchmarks activity. This also does not adjust the non-interactive mode, which should also happen in a followup. Change-Id: I1d079362df0d32642525ede5b41779d76a5735ec
This directory contains a simple Android app that is meant to help in doing controlled startup performance experiments.
This app is structured as a number of activities that each are useful for a different aspect of startup testing.
Activities
EmptyActivity
This is the simplest possible Android activity. Starting this exercises only the system parts of startup without any app-specific behavior.
adb shell am start -n com.android.startop.test/.EmptyActivity
LayoutInflation
This activity inflates a reasonably complex layout to see the impact of layout inflation. The layout is supported by the viewcompiler, so this can be used for testing precompiled layout performance.
The activity adds an inflate#activity_main slice to atrace around the time
spent in view inflation to make it easier to focus on the time spent in view
inflation.
adb shell am start -n com.android.startop.test/.ComplexLayoutInflationActivity
NonInteractiveSystemServerBenchmark
This activity is for running microbenchmarks from the command line. Run as follows:
adb shell am start -W -n com.android.startop.test .NonInteractiveSystemServerBenchmarkActivity
It takes awhile (and there's currently no automated way to make sure it's done), but when it finishes, you can get the results like this:
adb shell cat /sdcard/Android/data/com.android.startop.test/files/benchmark.csv