summaryrefslogtreecommitdiffstats
path: root/tests/055-enum-performance/src/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/055-enum-performance/src/Main.java')
-rw-r--r--tests/055-enum-performance/src/Main.java195
1 files changed, 0 insertions, 195 deletions
diff --git a/tests/055-enum-performance/src/Main.java b/tests/055-enum-performance/src/Main.java
deleted file mode 100644
index 43f45f1a8..000000000
--- a/tests/055-enum-performance/src/Main.java
+++ /dev/null
@@ -1,195 +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(500);
- 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 * 10)) {
- 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 final String[] BASIS_COMPARE_ARRAY = {
- "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT",
- "NINE", "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN",
- "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN"
- };
-
- static public int basis(int iters) {
- for (int i = iters; i > 0; i--) {
- basisValueOf("ZERO");
- basisValueOf("ONE");
- basisValueOf("TWO");
- basisValueOf("THREE");
- basisValueOf("FOUR");
- basisValueOf("FIVE");
- basisValueOf("SIX");
- basisValueOf("SEVEN");
- basisValueOf("EIGHT");
- basisValueOf("NINE");
- basisValueOf("TEN");
- basisValueOf("ELEVEN");
- basisValueOf("TWELVE");
- basisValueOf("THIRTEEN");
- basisValueOf("FOURTEEN");
- basisValueOf("FIFTEEN");
- basisValueOf("SIXTEEN");
- basisValueOf("SEVENTEEN");
- basisValueOf("EIGHTEEN");
- basisValueOf("NINETEEN");
- }
-
- return iters * 20;
- }
-
- static String basisValueOf(String key) {
- for (String s : BASIS_COMPARE_ARRAY) {
- if (s.equals(key)) {
- return s;
- }
- }
- throw new IllegalArgumentException();
- }
-
- 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;
- }
-}