1*d57664e9SAndroid Build Coastguard Worker## IMF performance tests 2*d57664e9SAndroid Build Coastguard Worker 3*d57664e9SAndroid Build Coastguard WorkerThese tests are adaptation of Window Manager perf tests (apct-tests/perftests/windowmanager). 4*d57664e9SAndroid Build Coastguard Worker 5*d57664e9SAndroid Build Coastguard Worker### Precondition 6*d57664e9SAndroid Build Coastguard WorkerTo reduce the variance of the test, if `perf-setup` (platform_testing/scripts/perf-setup) 7*d57664e9SAndroid Build Coastguard Workeris available, it is better to use the following instructions to lock CPU and GPU frequencies. 8*d57664e9SAndroid Build Coastguard Worker``` 9*d57664e9SAndroid Build Coastguard Workerm perf-setup 10*d57664e9SAndroid Build Coastguard WorkerPERF_SETUP_PATH=/data/local/tmp/perf-setup.sh 11*d57664e9SAndroid Build Coastguard Workeradb push $OUT/$PERF_SETUP_PATH $PERF_SETUP_PATH 12*d57664e9SAndroid Build Coastguard Workeradb shell chmod +x $PERF_SETUP_PATH 13*d57664e9SAndroid Build Coastguard Workeradb shell $PERF_SETUP_PATH 14*d57664e9SAndroid Build Coastguard Worker``` 15*d57664e9SAndroid Build Coastguard Worker 16*d57664e9SAndroid Build Coastguard Worker### Example to run 17*d57664e9SAndroid Build Coastguard WorkerUse `atest` 18*d57664e9SAndroid Build Coastguard Worker``` 19*d57664e9SAndroid Build Coastguard Workeratest ImePerfTests:ImePerfTest -- \ 20*d57664e9SAndroid Build Coastguard Worker --module-arg ImePerfTests:instrumentation-arg:profiling-iterations:=20 21*d57664e9SAndroid Build Coastguard Worker 22*d57664e9SAndroid Build Coastguard Worker``` 23*d57664e9SAndroid Build Coastguard WorkerNote: `instrumentation-arg:kill-bg:=true` is already defined in the AndroidText.xml 24*d57664e9SAndroid Build Coastguard Worker 25*d57664e9SAndroid Build Coastguard WorkerUse `am instrument` 26*d57664e9SAndroid Build Coastguard Worker``` 27*d57664e9SAndroid Build Coastguard Workeradb shell am instrument -w -r -e class android.inputmethod.ImePerfTest \ 28*d57664e9SAndroid Build Coastguard Worker -e listener android.inputmethod.ImePerfRunPrecondition \ 29*d57664e9SAndroid Build Coastguard Worker -e kill-bg true \ 30*d57664e9SAndroid Build Coastguard Worker com.android.perftests.inputmethod/androidx.test.runner.AndroidJUnitRunner 31*d57664e9SAndroid Build Coastguard Worker``` 32*d57664e9SAndroid Build Coastguard Worker* `kill-bg` is optional. 33*d57664e9SAndroid Build Coastguard Worker 34*d57664e9SAndroid Build Coastguard WorkerTest arguments 35*d57664e9SAndroid Build Coastguard Worker - kill-bg 36*d57664e9SAndroid Build Coastguard Worker * boolean: Kill background process before running test. 37*d57664e9SAndroid Build Coastguard Worker - profiling-iterations 38*d57664e9SAndroid Build Coastguard Worker * int: Run the extra iterations with enabling method profiling. 39*d57664e9SAndroid Build Coastguard Worker - profiling-sampling 40*d57664e9SAndroid Build Coastguard Worker * int: The interval (0=trace each method, default is 10) of sample profiling in microseconds. 41