From 1f541a042347a789256434a3c548d62565388e96 Mon Sep 17 00:00:00 2001 From: Stephen Hines Date: Wed, 18 Jan 2012 15:06:57 -0800 Subject: Run ComputePerf multiple times. Change-Id: I715c726f15416685b715a14a25c9595d9a9a124b --- .../android/rs/computeperf/ComputePerf.java | 26 +++++++++++++++++----- .../example/android/rs/computeperf/LaunchTest.java | 15 +++++++------ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java index f7abe8bf1155..5446f667297a 100644 --- a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java +++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java @@ -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(); - } - } diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java index 0c29ce18b3b6..e2312ba92a7a 100644 --- a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java +++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java @@ -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; } - } -- cgit v1.2.3-59-g8ed1b