Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f541a04 authored by Stephen Hines's avatar Stephen Hines
Browse files

Run ComputePerf multiple times.

Change-Id: I715c726f15416685b715a14a25c9595d9a9a124b
parent fb9ffe02
Loading
Loading
Loading
Loading
+20 −6
Original line number Diff line number Diff line
/*
 * 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();

    }

}
+8 −7
Original line number Diff line number Diff line
/*
 * 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;
    }

}