Merge "Run ComputePerf multiple times."

This commit is contained in:
Stephen Hines
2012-01-18 15:42:46 -08:00
committed by Android (Google) Code Review
2 changed files with 28 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 The Android Open Source Project
* Copyright (C) 2011-2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,10 +22,10 @@ import android.graphics.BitmapFactory;
import android.graphics.Bitmap;
import android.renderscript.RenderScript;
import android.renderscript.Allocation;
import android.util.Log;
import android.widget.ImageView;
public class ComputePerf extends Activity {
private LaunchTest mLT;
private Mandelbrot mMandel;
private RenderScript mRS;
@@ -35,14 +35,28 @@ public class ComputePerf extends Activity {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final int numTries = 100;
long timesXLW = 0;
long timesXYW = 0;
mRS = RenderScript.create(this);
mLT = new LaunchTest(mRS, getResources());
mLT.run();
mLT.run();
mLT.XLW();
mLT.XYW();
for (int i = 0; i < numTries; i++) {
timesXLW += mLT.XLW();
timesXYW += mLT.XYW();
}
timesXLW /= numTries;
timesXYW /= numTries;
// XLW and XYW running times should match pretty closely
Log.v("ComputePerf", "xlw launch test " + timesXLW + "ms");
Log.v("ComputePerf", "xyw launch test " + timesXYW + "ms");
mMandel = new Mandelbrot(mRS, getResources());
mMandel.run();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 The Android Open Source Project
* Copyright (C) 2011-2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ package com.example.android.rs.computeperf;
import android.content.res.Resources;
import android.renderscript.*;
public class LaunchTest implements Runnable {
public class LaunchTest {
private RenderScript mRS;
private Allocation mAllocationX;
private Allocation mAllocationXY;
@@ -40,18 +40,19 @@ public class LaunchTest implements Runnable {
mScript_xlw.bind_buf(mAllocationXY);
}
public void run() {
public long XLW() {
long t = java.lang.System.currentTimeMillis();
mScript_xlw.forEach_root(mAllocationX);
mRS.finish();
t = java.lang.System.currentTimeMillis() - t;
android.util.Log.v("ComputePerf", "xlw launch test ms " + t);
return t;
}
t = java.lang.System.currentTimeMillis();
public long XYW() {
long t = java.lang.System.currentTimeMillis();
mScript_xyw.forEach_root(mAllocationXY);
mRS.finish();
t = java.lang.System.currentTimeMillis() - t;
android.util.Log.v("ComputePerf", "xyw launch test ms " + t);
return t;
}
}