package org.linaro.iasenov.benchmarkframework; import android.util.Log; import java.io.IOException; import java.io.PrintStream; import art_benchmarks.micro.Base64; import art_benchmarks.micro.BitfieldRotate; import art_benchmarks.micro.ControlFlowRecursive; import art_benchmarks.micro.Exceptions; import art_benchmarks.micro.HashMapBench; import art_benchmarks.micro.PrefetchLoopedArrayAccess; import art_benchmarks.micro.StringEquals; import art_benchmarks.micro.StringOps; import art_benchmarks.micro.SystemArrayCopy; import art_benchmarks.micro.VectorCalc; import art_benchmarks.micro.intrinsics.CRC32Bench; import art_benchmarks.micro.intrinsics.Intrinsics; import art_benchmarks.micro.intrinsics.Rounding; import static art_benchmarks.micro.ShifterOperand.*; /** * Created by iasenov on 9/21/16. */ public class Test14 extends BaseBenchmark{ private String TAG = "Micro(ART)"; static boolean isJavaCanceled = false; public String startBenchmark(int count) { isJavaCanceled = false; version = " Micro(ART) "; benchmarkName = "Test14"; integrationType = "SL"; chartName = "Micro(ART)"; long before; long after; clear(); //****Redirect System.out and Syste.err**** PrintStream stdOut = System.out; PrintStream stdErrt = System.err; PrintStream interceptor_stdout = new Interceptor(stdOut); PrintStream interceptor_err = new Interceptor(stdErrt); System.setOut(interceptor_stdout);// just add the interceptor System.setErr(interceptor_err);// just add the interceptor //****Redirect System.out and Syste.err**** startTest = System.currentTimeMillis(); if(isJavaCanceled) return ""; //***********Intrinsics - CRC32Bench************* int rc = 0; final int iterCount = 100; CRC32Bench obj11 = new CRC32Bench(); if(isJavaCanceled) return ""; before = System.currentTimeMillis(); obj11.timeUpdateInt(iterCount); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/intrinsics/CRC32Bench/UpdateInt: " + (after - before)); if(isJavaCanceled) return ""; before = System.currentTimeMillis(); obj11.timeUpdateBytes(iterCount); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/intrinsics/CRC32Bench/UpdateBytes: " + (after - before)); if (!obj11.verifyCRC32Bench()) { rc++; } //System.exit(rc); //***********Intrinsics - CRC32Bench************* if(isJavaCanceled) return ""; //***********Intrinsics - Intrinsics************* Intrinsics obj12 = new Intrinsics(); before = System.currentTimeMillis(); if(isJavaCanceled) return ""; obj12.timeNumberOfLeadingZerosInteger(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfLeadingZerosIntegerRandom(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfLeadingZerosLong(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfLeadingZerosLongRandom(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfTrailingZerosInteger(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfTrailingZerosIntegerRandom(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfTrailingZerosLong(100000); if(isJavaCanceled) return ""; obj12.timeNumberOfTrailingZerosLongRandom(100000); if(isJavaCanceled) return ""; obj12.timeRotateRightInteger(100000); if(isJavaCanceled) return ""; obj12.timeRotateRightLong(100000); if(isJavaCanceled) return ""; obj12.timeRotateLeftInteger(100000); if(isJavaCanceled) return ""; obj12.timeRotateLeftLong(100000); if(isJavaCanceled) return ""; obj12.timeRotateRandomInteger(100000); if(isJavaCanceled) return ""; obj12.timeRotateRandomLong(100000); if(isJavaCanceled) return ""; obj12.timeBitCountInteger(100000); if(isJavaCanceled) return ""; obj12.timeBitCountLong(100000); if(isJavaCanceled) return ""; obj12.timeBitCountIntegerRandom(100000); if(isJavaCanceled) return ""; obj12.timeBitCountLongRandom(100000); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/intrinsics/Intrinsics: " + (after - before)); //***********Intrinsics - Intrinsics************* if(isJavaCanceled) return ""; //***********Intrinsics - Rounding************* final int ITER_COUNT_1 = 100000; Rounding obj13 = new Rounding(); before = System.currentTimeMillis(); obj13.timeRoundPositiveFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeRoundNegativeFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeRoundFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeRoundPositiveDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeRoundNegativeDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeRoundDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorPositiveFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorNegativeFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorPositiveDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorNegativeDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilPositiveFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilNegativeFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilPositiveDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilNegativeDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeFloorDouble(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilFloat(ITER_COUNT_1); if(isJavaCanceled) return ""; obj13.timeCeilDouble(ITER_COUNT_1); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/intrinsics/Rounding: " + (after - before)); //***********Intrinsics - Rounding************* if(isJavaCanceled) return ""; //***********Base64************* Base64 b = new Base64(); before = System.currentTimeMillis(); b.timeEncode(1300); b.timeDecode(1300); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/Base64: " + (after - before)); //***********Base64************* if(isJavaCanceled) return ""; //***********BitfieldRotate************* BitfieldRotate br = new BitfieldRotate(); before = System.currentTimeMillis(); br.timeSHA1DigestProcessBlock(300000); if(isJavaCanceled) return ""; br.timeIntegerRotateRight(300000); if(isJavaCanceled) return ""; br.timeIntegerRotateLeft(300000); if(isJavaCanceled) return ""; br.timeLongRotateRight(300000); if(isJavaCanceled) return ""; br.timeLongRotateLeft(300000); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/BitfieldRotate: " + (after - before)); //***********BitfieldRotate************* if(isJavaCanceled) return ""; //***********ControlFlowRecursive************* rc = 0; long start; long end; ControlFlowRecursive obj = new ControlFlowRecursive(); start = System.currentTimeMillis(); obj.timeControlFlowRecursive(600); end = System.currentTimeMillis(); System.out.println( "art_benchmarks/micro/ControlFlowRecursive.ControlFlowRecursive: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); obj.timeTak(2000); end = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/ControlFlowRecursive.Tak: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); obj.timeTarai(10); end = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/ControlFlowRecursive.Tarai: " + (end - start)); if (!obj.verifyTakTarai() || !obj.verifyControlFlowRecursive()) { rc++; } //System.exit(rc); //***********ControlFlowRecursive************* if(isJavaCanceled) return ""; //***********Exceptions************* rc = 0; final int TIME_FUNCTIONS_ITERS = 1000; Exceptions obj1 = new Exceptions(); before = System.currentTimeMillis(); obj1.timeArithmDoubleExceptionFires(10); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/Exceptions.arithmDoubleExceptionFires: " + (after - before)); if(isJavaCanceled) return ""; before = System.currentTimeMillis(); obj1.timeArithmDoubleException(TIME_FUNCTIONS_ITERS); if(isJavaCanceled) return ""; after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/Exceptions.arithmDoubleException: " + (after - before)); before = System.currentTimeMillis(); obj1.timeArithmDouble(TIME_FUNCTIONS_ITERS); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/Exceptions.arithmDouble: " + (after - before)); if (!obj1.verify()) { rc++; } //System.exit(rc); //***********Exceptions************* if(isJavaCanceled) return ""; //***********HashMapBench************* HashMapBench obj2 = new HashMapBench(); before = System.currentTimeMillis(); obj2.timeTestHashMap(100); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/HashMapBench: " + (after - before)); //***********HashMapBench************* if(isJavaCanceled) return ""; //***********PrefetchLoopedArrayAccess************* PrefetchLoopedArrayAccess obj3 = new PrefetchLoopedArrayAccess(); before = System.currentTimeMillis(); obj3.timeRun(22000); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/PrefetchLoopedArrayAccess: " + (after - before)); //***********PrefetchLoopedArrayAccess************* if(isJavaCanceled) return ""; //***********ShifterOperand************* rc = 0; int iterations = 100000; String prefix = "art_benchmarks/micro/ShifterOperand/"; // CHECKSTYLE.OFF: LineLength // CHECKSTYLE.OFF: OneStatementPerLine // CHECKSTYLE.OFF: LeftCurly start = System.currentTimeMillis(); timeIntSingleUseLatency1(50000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency1()) { rc++; } System.out.println(prefix + "IntSingleUseLatency1: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatency1Thread2(30000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency1Thread2()) { rc++; } System.out.println(prefix + "IntSingleUseLatency1Thread2: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatency1Thread3(20000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency1Thread3()) { rc++; } System.out.println(prefix + "IntSingleUseLatency1Thread3: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatency1Thread4(15000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency1Thread4()) { rc++; } System.out.println(prefix + "IntSingleUseLatency1Thread4: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatency2(40000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency2()) { rc++; } System.out.println(prefix + "IntSingleUseLatency2: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatency3(50000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatency3()) { rc++; } System.out.println(prefix + "IntSingleUseLatency3: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeIntSingleUseLatencyLoop(70000000); end = System.currentTimeMillis(); if (!verifyIntSingleUseLatencyLoop()) { rc++; } System.out.println(prefix + "IntSingleUseLatencyLoop: " + (end - start)); // The `long` versions use the same iteration counts as the `int` versions // above. start = System.currentTimeMillis(); timeLongSingleUseLatency1(50000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency1()) { rc++; } System.out.println(prefix + "LongSingleUseLatency1: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatency1Thread2(30000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency1Thread2()) { rc++; } System.out.println(prefix + "LongSingleUseLatency1Thread2: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatency1Thread3(20000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency1Thread3()) { rc++; } System.out.println(prefix + "LongSingleUseLatency1Thread3: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatency1Thread4(15000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency1Thread4()) { rc++; } System.out.println(prefix + "LongSingleUseLatency1Thread4: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatency2(40000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency2()) { rc++; } System.out.println(prefix + "LongSingleUseLatency2: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatency3(50000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatency3()) { rc++; } System.out.println(prefix + "LongSingleUseLatency3: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeLongSingleUseLatencyLoop(70000000); end = System.currentTimeMillis(); if (!verifyLongSingleUseLatencyLoop()) { rc++; } System.out.println(prefix + "LongSingleUseLatencyLoop: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleUsesDifferentPathInt(50000000); end = System.currentTimeMillis(); if (!verifyMultipleUsesDifferentPathInt()) { rc++; } System.out.println(prefix + "MultipleUsesDifferentPathInt: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleSuccessiveUsesSamePathInt(35000000); end = System.currentTimeMillis(); if (!verifyMultipleSuccessiveUsesSamePathInt()) { rc++; } System.out.println(prefix + "MultipleSuccessiveUsesSamePathInt: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleSeparatedUsesSamePathInt(40000000); end = System.currentTimeMillis(); if (!verifyMultipleSeparatedUsesSamePathInt()) { rc++; } System.out.println(prefix + "MultipleSeparatedUsesSamePathInt: " + (end - start)); // The `long` versions use the same iteration counts as the `int` versions // above. if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleUsesDifferentPathLong(50000000); end = System.currentTimeMillis(); if (!verifyMultipleUsesDifferentPathLong()) { rc++; } System.out.println(prefix + "MultipleUsesDifferentPathLong: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleSuccessiveUsesSamePathLong(35000000); end = System.currentTimeMillis(); if (!verifyMultipleSuccessiveUsesSamePathLong()) { rc++; } System.out.println(prefix + "MultipleSuccessiveUsesSamePathLong: " + (end - start)); if(isJavaCanceled) return ""; start = System.currentTimeMillis(); timeMultipleSeparatedUsesSamePathLong(40000000); end = System.currentTimeMillis(); if (!verifyMultipleSeparatedUsesSamePathLong()) { rc++; } System.out.println(prefix + "MultipleSeparatedUsesSamePathLong: " + (end - start)); // CHECKSTYLE.ON: LineLength // CHECKSTYLE.ON: OneStatementPerLine // CHECKSTYLE.ON: LeftCurly //System.exit(rc); //***********ShifterOperand************* if(isJavaCanceled) return ""; //***********StringEquals************* StringEquals eq = new StringEquals(); before = System.currentTimeMillis(); eq.timeEquals(1500); eq.timeEquals(1500); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/StringEquals: " + (after - before)); //***********StringEquals************* if(isJavaCanceled) return ""; //***********StringOps************* int result = 0; final int ITER_COUNT = 22000; StringOps obj4 = new StringOps(); before = System.currentTimeMillis(); obj4.timeStringEquals008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEquals016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEquals032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEquals128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEquals512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEqualsIgnoreCase008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEqualsIgnoreCase016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEqualsIgnoreCase032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEqualsIgnoreCase128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringEqualsIgnoreCase512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringContentEquals008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringContentEquals016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringContentEquals032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringContentEquals128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringContentEquals512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareTo008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareTo016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareTo032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareTo128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareTo512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareToIgnoreCase008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareToIgnoreCase016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareToIgnoreCase032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareToIgnoreCase128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCompareToIgnoreCase512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatches008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatches016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatches032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatches128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatches512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatchesIgnoreCase008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatchesIgnoreCase016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatchesIgnoreCase032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatchesIgnoreCase128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringRegionMatchesIgnoreCase512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringCharAt(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOf008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOf016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOf032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOf128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOf512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOfAfter008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOfAfter016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOfAfter032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOfAfter128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringIndexOfAfter512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromBytes008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromBytes016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromBytes032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromBytes128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromBytes512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromChars008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromChars016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromChars032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromChars128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromChars512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromString008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromString016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromString032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromString128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringNewStringFromString512(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringGetCharsNoCheck008(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringGetCharsNoCheck016(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringGetCharsNoCheck032(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringGetCharsNoCheck128(ITER_COUNT); if(isJavaCanceled) return ""; obj4.timeStringGetCharsNoCheck512(ITER_COUNT); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/StringOps: " + (after - before)); //System.exit(result); //***********StringOps************* if(isJavaCanceled) return ""; //***********SystemArrayCopy************* result = 0; SystemArrayCopy obj5 = new SystemArrayCopy(); before = System.currentTimeMillis(); try { obj5.timeArrayCopySmall(ITER_COUNT); if(isJavaCanceled) return ""; obj5.timeArrayCopyMedium(ITER_COUNT); if(isJavaCanceled) return ""; obj5.timeArrayCopyLarge(ITER_COUNT); if(isJavaCanceled) return ""; obj5.timeArrayCopyCharBufferedReadSmall(ITER_COUNT); obj5.timeArrayCopyCharBufferedReadMedium(ITER_COUNT); if(isJavaCanceled) return ""; obj5.timeArrayCopyCharBufferedReadLarge(ITER_COUNT); if (!obj5.verify()) { result++; System.out.println("ERROR: verify() failed."); } } catch (IOException ex) { System.out.println("ERROR: benchmarks/micro/SystemArrayCopy: " + ex.getMessage()); } after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/SystemArrayCopy: " + (after - before)); //System.exit(result); //***********SystemArrayCopy************* if(isJavaCanceled) return ""; //***********VectorCalc************* final int MAIN_ITERATIONS = 80000; VectorCalc obj6 = new VectorCalc(); before = System.currentTimeMillis(); obj6.timeRun(MAIN_ITERATIONS); after = System.currentTimeMillis(); System.out.println("art_benchmarks/micro/VectorCalc: " + (after - before)); //***********VectorCalc************* xout[2] = Interceptor.outputTxt; Interceptor.clear(); endTest = System.currentTimeMillis(); sendElapsedTimeToChart(); submitElapsedTime(endTest-startTest); return benchmarkName + ":" + getBenchmarkResult(5, integrationType); } public boolean stopBenchmark(){ isJavaCanceled = true; Log.i(TAG, "stopBenchmark: isJNICanceled"); return true; } }