1000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma/* 2000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * Copyright (C) 2012 The Android Open Source Project 3000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * 4000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * Licensed under the Apache License, Version 2.0 (the "License"); 5000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * you may not use this file except in compliance with the License. 6000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * You may obtain a copy of the License at 7000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * 8000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * http://www.apache.org/licenses/LICENSE-2.0 9000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * 10000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * Unless required by applicable law or agreed to in writing, software 11000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * distributed under the License is distributed on an "AS IS" BASIS, 12000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * See the License for the specific language governing permissions and 14000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma * limitations under the License. 15000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma */ 16000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma 17000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharmapackage com.example.android.rs.computebench; 18000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharmaimport android.content.Context; 19000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharmaimport android.content.res.Resources; 20000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharmaimport android.renderscript.*; 21000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma 22000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharmapublic class Benchmark implements Runnable { 23000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma private final RenderScript mRS; 24000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma private ScriptC_compute_benchmark mScript; 25000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma 26000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma public Benchmark(RenderScript rs, Resources res) { 27000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma mRS = rs; 28000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma mScript = new ScriptC_compute_benchmark(mRS, res, R.raw.compute_benchmark); 29000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma } 30000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma 31000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma public void run() { 32000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma long t = java.lang.System.currentTimeMillis(); 33000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma mScript.invoke_bench(); 34000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma mRS.finish(); 35000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma t = java.lang.System.currentTimeMillis() - t; 36000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma android.util.Log.v("ComputeBench", "Total benchmark took " + t + " ms"); 37000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma } 38000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma 39000dc53ca9dee764c8f39c17f8f36e5ecb7bf28aRajeev Sharma} 40