diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:14 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:14 -0800 |
| commit | f72d5de56a522ac3be03873bdde26f23a5eeeb3c (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /tests/055-enum-performance/src | |
| parent | 31e30105703263782efd450d356cd67ea01af3b7 (diff) | |
| download | android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.gz android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.bz2 android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.zip | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'tests/055-enum-performance/src')
4 files changed, 0 insertions, 216 deletions
diff --git a/tests/055-enum-performance/src/Main.java b/tests/055-enum-performance/src/Main.java deleted file mode 100644 index a576d3a34..000000000 --- a/tests/055-enum-performance/src/Main.java +++ /dev/null @@ -1,199 +0,0 @@ -import otherpackage.OtherPackagePublicEnum; - -public class Main { - /** used by {@link #basisCall} */ - static private int basisTestValue = 12; - - static public void main(String[] args) throws Exception { - boolean timing = (args.length >= 1) && args[0].equals("--timing"); - run(timing); - } - - static public void run(boolean timing) { - preTest(); - - long time0 = System.nanoTime(); - int count1 = test1(500); - long time1 = System.nanoTime(); - int count2 = test2(500); - long time2 = System.nanoTime(); - int count3 = test3(500); - long time3 = System.nanoTime(); - int count4 = basis(2000); - long time4 = System.nanoTime(); - - System.out.println("basis: performed " + count4 + " iterations"); - System.out.println("test1: performed " + count1 + " iterations"); - System.out.println("test2: performed " + count2 + " iterations"); - System.out.println("test3: performed " + count3 + " iterations"); - - double msec1 = (time1 - time0) / (double) count1 / 1000000; - double msec2 = (time2 - time1) / (double) count2 / 1000000; - double msec3 = (time3 - time2) / (double) count3 / 1000000; - double basisMsec = (time4 - time3) / (double) count4 / 1000000; - - double avg = (msec1 + msec2 + msec3) / 3; - if (avg < (basisMsec * 25)) { - System.out.println("Timing is acceptable."); - } else { - System.out.println("Iterations are taking too long!"); - timing = true; - } - - if (timing) { - System.out.printf("basis time: %.3g msec\n", basisMsec); - System.out.printf("test1: %.3g msec per iteration\n", msec1); - System.out.printf("test2: %.3g msec per iteration\n", msec2); - System.out.printf("test3: %.3g msec per iteration\n", msec3); - } - - } - - static public void preTest() { - /* - * This is meant to ensure that the basic enum functionality - * really is working. - */ - - Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class; - - System.out.println(Enum.valueOf(c, "FOUR")); - System.out.println(Enum.valueOf(c, "ONE")); - System.out.println(Enum.valueOf(c, "FOURTEEN")); - System.out.println(Enum.valueOf(c, "NINE")); - System.out.println(Enum.valueOf(c, "FIVE")); - System.out.println(Enum.valueOf(c, "TWELVE")); - - System.out.println(Enum.valueOf(c, "ZERO").getClass().getName()); - } - - static public int basis(int iters) { - /* - * The basis time is the time taken to call a static method - * passing two arguments, which in turn accesses a static - * variable, compares a string, and does a little trivial math - * and a trivial comparison. (That is, this is a mini - * "omnibus" performance metric.) This is clearly going to be - * much faster than Enum.valueOf(), which is why we multiply - * the time before testing. - */ - for (int i = iters; i > 0; i--) { - basisCall(i, "aname"); - basisCall(i, "bname"); - basisCall(i, "cname"); - basisCall(i, "dname"); - basisCall(i, "ename"); - basisCall(i, "fname"); - basisCall(i, "gname"); - basisCall(i, "hname"); - basisCall(i, "iname"); - basisCall(i, "jname"); - basisCall(i, "kname"); - basisCall(i, "lname"); - basisCall(i, "mname"); - basisCall(i, "nname"); - basisCall(i, "oname"); - basisCall(i, "pname"); - basisCall(i, "qname"); - basisCall(i, "rname"); - basisCall(i, "sname"); - basisCall(i, "tname"); - } - - return iters * 20; - } - - static public int basisCall(int i, String name) { - int compare = name.compareTo("fuzzbot"); - - if (i < (basisTestValue * compare)) { - return basisTestValue; - } else { - return i; - } - } - - static public int test1(int iters) { - Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class; - for (int i = iters; i > 0; i--) { - Enum.valueOf(c, "ZERO"); - Enum.valueOf(c, "ONE"); - Enum.valueOf(c, "TWO"); - Enum.valueOf(c, "THREE"); - Enum.valueOf(c, "FOUR"); - Enum.valueOf(c, "FIVE"); - Enum.valueOf(c, "SIX"); - Enum.valueOf(c, "SEVEN"); - Enum.valueOf(c, "EIGHT"); - Enum.valueOf(c, "NINE"); - Enum.valueOf(c, "TEN"); - Enum.valueOf(c, "ELEVEN"); - Enum.valueOf(c, "TWELVE"); - Enum.valueOf(c, "THIRTEEN"); - Enum.valueOf(c, "FOURTEEN"); - Enum.valueOf(c, "FIFTEEN"); - Enum.valueOf(c, "SIXTEEN"); - Enum.valueOf(c, "SEVENTEEN"); - Enum.valueOf(c, "EIGHTEEN"); - Enum.valueOf(c, "NINETEEN"); - } - - return iters * 20; - } - - static public int test2(int iters) { - Class<SamePackagePrivateEnum> c = SamePackagePrivateEnum.class; - for (int i = iters; i > 0; i--) { - Enum.valueOf(c, "ZERO"); - Enum.valueOf(c, "ONE"); - Enum.valueOf(c, "TWO"); - Enum.valueOf(c, "THREE"); - Enum.valueOf(c, "FOUR"); - Enum.valueOf(c, "FIVE"); - Enum.valueOf(c, "SIX"); - Enum.valueOf(c, "SEVEN"); - Enum.valueOf(c, "EIGHT"); - Enum.valueOf(c, "NINE"); - Enum.valueOf(c, "TEN"); - Enum.valueOf(c, "ELEVEN"); - Enum.valueOf(c, "TWELVE"); - Enum.valueOf(c, "THIRTEEN"); - Enum.valueOf(c, "FOURTEEN"); - Enum.valueOf(c, "FIFTEEN"); - Enum.valueOf(c, "SIXTEEN"); - Enum.valueOf(c, "SEVENTEEN"); - Enum.valueOf(c, "EIGHTEEN"); - Enum.valueOf(c, "NINETEEN"); - } - - return iters * 20; - } - - static public int test3(int iters) { - Class<OtherPackagePublicEnum> c = OtherPackagePublicEnum.class; - for (int i = iters; i > 0; i--) { - Enum.valueOf(c, "ZERO"); - Enum.valueOf(c, "ONE"); - Enum.valueOf(c, "TWO"); - Enum.valueOf(c, "THREE"); - Enum.valueOf(c, "FOUR"); - Enum.valueOf(c, "FIVE"); - Enum.valueOf(c, "SIX"); - Enum.valueOf(c, "SEVEN"); - Enum.valueOf(c, "EIGHT"); - Enum.valueOf(c, "NINE"); - Enum.valueOf(c, "TEN"); - Enum.valueOf(c, "ELEVEN"); - Enum.valueOf(c, "TWELVE"); - Enum.valueOf(c, "THIRTEEN"); - Enum.valueOf(c, "FOURTEEN"); - Enum.valueOf(c, "FIFTEEN"); - Enum.valueOf(c, "SIXTEEN"); - Enum.valueOf(c, "SEVENTEEN"); - Enum.valueOf(c, "EIGHTEEN"); - Enum.valueOf(c, "NINETEEN"); - } - - return iters * 20; - } -} diff --git a/tests/055-enum-performance/src/SamePackagePrivateEnum.java b/tests/055-enum-performance/src/SamePackagePrivateEnum.java deleted file mode 100644 index b6759f69f..000000000 --- a/tests/055-enum-performance/src/SamePackagePrivateEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -/*package*/ enum SamePackagePrivateEnum { - ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, - TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, - SEVENTEEN, EIGHTEEN, NINETEEN; -} diff --git a/tests/055-enum-performance/src/SamePackagePublicEnum.java b/tests/055-enum-performance/src/SamePackagePublicEnum.java deleted file mode 100644 index 3a1c23046..000000000 --- a/tests/055-enum-performance/src/SamePackagePublicEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -public enum SamePackagePublicEnum { - ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, - TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, - SEVENTEEN, EIGHTEEN, NINETEEN; -} diff --git a/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java b/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java deleted file mode 100644 index 4ef4d7878..000000000 --- a/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java +++ /dev/null @@ -1,7 +0,0 @@ -package otherpackage; - -public enum OtherPackagePublicEnum { - ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, - TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, - SEVENTEEN, EIGHTEEN, NINETEEN; -} |
