Merge "Refactor interactive microbenchmarks"

This commit is contained in:
TreeHugger Robot
2019-11-15 16:39:18 +00:00
committed by Android (Google) Code Review
7 changed files with 33 additions and 13 deletions

View File

@@ -25,8 +25,8 @@ android_app {
"src/InitCheckOverheadBenchmarkActivity.java",
"src/InitCheckOverheadBenchmarks.java",
"src/LayoutInflationActivity.java",
"src/NonInteractiveSystemServerBenchmarkActivity.java",
"src/SystemServerBenchmarkActivity.java",
"src/NonInteractiveMicrobenchmarkActivity.java",
"src/InteractiveMicrobenchmarkActivity.java",
"src/SystemServerBenchmarks.java",
"src/TextViewInflationActivity.java",
],

View File

@@ -97,8 +97,8 @@
</activity>
<activity
android:label="SystemServer Benchmark"
android:name=".SystemServerBenchmarkActivity"
android:label="Interactive Microbenchmarks"
android:name=".InteractiveMicrobenchmarkActivity"
android:exported="true" >
<intent-filter>
@@ -109,8 +109,8 @@
</activity>
<activity
android:label="Non-interactive SystemServer Benchmark"
android:name=".NonInteractiveSystemServerBenchmarkActivity"
android:label="Non-interactive Microbenchmarks"
android:name=".NonInteractiveMicrobenchmarkActivity"
android:exported="true" />
</application>

View File

@@ -18,7 +18,7 @@ package com.android.startop.test;
import android.os.Bundle;
public class CPUIntensiveBenchmarkActivity extends SystemServerBenchmarkActivity {
public class CPUIntensiveBenchmarkActivity extends InteractiveMicrobenchmarkActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.system_server_benchmark_page);

View File

@@ -18,7 +18,7 @@ package com.android.startop.test;
import android.os.Bundle;
public class InitCheckOverheadBenchmarkActivity extends SystemServerBenchmarkActivity {
public class InitCheckOverheadBenchmarkActivity extends InteractiveMicrobenchmarkActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.system_server_benchmark_page);

View File

@@ -18,12 +18,13 @@ package com.android.startop.test;
import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.Button;
import android.widget.GridLayout;
import android.widget.TextView;
public class SystemServerBenchmarkActivity extends Activity implements BenchmarkRunner {
public class InteractiveMicrobenchmarkActivity extends Activity implements BenchmarkRunner {
protected GridLayout mBenchmarkList;
protected void onCreate(Bundle savedInstanceState) {
@@ -32,9 +33,31 @@ public class SystemServerBenchmarkActivity extends Activity implements Benchmark
mBenchmarkList = findViewById(R.id.benchmark_list);
addBenchmark("Empty", () -> {
});
addHeader("Application Benchmarks");
CPUIntensiveBenchmarks.initializeBenchmarks(this, this);
addHeader("Init Check Overhead Benchmarks");
InitCheckOverheadBenchmarks.initializeBenchmarks(this, this);
addHeader("System Server Benchmarks");
SystemServerBenchmarks.initializeBenchmarks(this, this);
}
/**
* Add a heading for a group of related benchmarks
*
* @param name The name of this group of benchmarks
*/
public void addHeader(CharSequence name) {
Context context = mBenchmarkList.getContext();
TextView header = new TextView(context);
header.setText(name);
header.setTypeface(header.getTypeface(), Typeface.BOLD);
GridLayout.LayoutParams params = new GridLayout.LayoutParams();
params.columnSpec = GridLayout.spec(0, 3);
mBenchmarkList.addView(header, params);
}
/**
* Adds a benchmark to the set to run.
*

View File

@@ -36,7 +36,7 @@ import android.widget.Button;
import android.widget.GridLayout;
import android.widget.TextView;
public class NonInteractiveSystemServerBenchmarkActivity extends Activity {
public class NonInteractiveMicrobenchmarkActivity extends Activity {
ArrayList<CharSequence> benchmarkNames = new ArrayList();
ArrayList<Runnable> benchmarkThunks = new ArrayList();

View File

@@ -57,9 +57,6 @@ class SystemServerBenchmarks {
static void initializeBenchmarks(Activity parent, BenchmarkRunner benchmarks) {
final String packageName = parent.getPackageName();
benchmarks.addBenchmark("Empty", () -> {
});
PackageManager pm = parent.getPackageManager();
benchmarks.addBenchmark("getInstalledApplications", () -> {
pm.getInstalledApplications(PackageManager.MATCH_SYSTEM_ONLY);