This allows us to quickly test small changes in layout inflation performance.
TEST: mma &&
adb install $OUT/system/app/startop_test_app/startop_test_app.apk;
Run the app
Change-Id: I396157686d1e16ae2a7083a070fe1f622c05b15f
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
Add a benchmark to test the cost of initialization checks. The
application run with JIT versus AOT shows the cost of initialization
checks of other classes.
Bug: none
Test: run the test, compile, run the test again
Change-Id: Ic15d872e2284084e003056849453150fb533ca81
This change adds some of the top binder calls from AppOpsManager, UserManager,
and ConnectivityManager.
Change-Id: I8c87a5d58d68b962927c4886c1bba90f3976d587
ActivityManagerService.getPackageForIntentSender is the second most common
binder transaction during an MPTS run.
Change-Id: I628857d9f323102db3d66da0311f36554cbd797b
This allows benchmarking system server when not sitting at the device. To use
it, launch the NonInteractiveSystemServerBenchmarkActivity and then wait awhile.
The benchmark results will be available at
/sdcard/Android/data/com.android.startop.test/files/benchmark.csv
Change-Id: If7697657228f6e631846fdb79a5a5acfdaf7fe65
This change does a better job of separating the UI code from the benchmark
running code, with the goal of enabling a non-interactive version of the
benchmarks.
Change-Id: Id7a673b9abca69cd9643a487f7b05f965e1f2614
In order to understand how simpleperf reports percentages from a whole
system, craft a benchmark set that runs a CPU-intensive thread a number
of times.
Bug: none
Test: run the app
Change-Id: I7c8748f9b5da89be20775a5af60b223d4673023b
Especially for short running methods, this gives us better results and also
gives us more data for things like simpleperf to work on.
Since we don't know ahead of time how many times each benchmark will run, we had
to switch the mean and standard deviation formulas to one that supports running
updates. This has the advantage of making it constant space.
Bug: 140743821
Change-Id: I3e6b6b44d3bd573bad8afc8831226194147b108a
This adds a simple activity to the Startop Test App for non-scientific
interactive benchmark running for system_server APIs.
Bug: 140743821
Change-Id: I5485152bde4a791035c71d7b3f23e8cff9649292
platform_apis must be true when sdk_version is empty.
So add platform_apis into file that is not included it.
Bug: 132780927
Test: m
Change-Id: Ie7badd61248bbabaf51ef8fb30bdd832af88da15
This change adds a base activity to inflate views, and then adds two
more views to inflate: one with 1000 TextViews and the other with 1000
FrameLayouts in a LinearLayout nested inside a ScrollView.
This change also adds launcher icons for each of the new cases for
ease in testing a launcher-based start.
Bug: 132721345
Test: Verified that the layout segments appear in traces as expected.
Change-Id: Id8c3e867a1ad5df5c3322ce5d69c9b4255042b69
This CL includes a simple app for testing aspects of startup performance. It
will probably gain new activities as we focus on different parts in
particular. Currently it has an empty activity and an activity that focuses on
layout inflation.
Test: mma, adb install, adb shell start (see README.md for exact commands)
Change-Id: I4e98994f0c25ce61a89d13f86eda2320a1fdcafa