]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/scratch/org/simantics/databoard/tests/TestByteVsInt.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / scratch / org / simantics / databoard / tests / TestByteVsInt.java
diff --git a/bundles/org.simantics.databoard/scratch/org/simantics/databoard/tests/TestByteVsInt.java b/bundles/org.simantics.databoard/scratch/org/simantics/databoard/tests/TestByteVsInt.java
new file mode 100644 (file)
index 0000000..a1fb05b
--- /dev/null
@@ -0,0 +1,105 @@
+package org.simantics.databoard.tests;\r
+\r
+/**\r
+ *\r
+ * @author Toni Kalajainen <toni.kalajainen@iki.fi>\r
+ */\r
+public class TestByteVsInt {\r
+\r
+       public static byte sum(byte a, byte b, byte c, byte d, byte e, byte f) {\r
+               return (byte) (a+b+c+d+e+f);\r
+       }\r
+       \r
+       public static int sum(int a, int b, int c, int d, int e, int f) {\r
+               return a+b+c+d+e+f;\r
+       }\r
+       \r
+       public static long sum(long a, long b, long c, long d, long e, long f) {\r
+               return a+b+c+d+e+f;\r
+       }\r
+       \r
+       public static void byteTest() {\r
+               System.gc();\r
+               {\r
+                       long x = System.nanoTime();\r
+                       byte a = 6, b=3, c=67, d=2, e=-53, f=1;\r
+                       for (int i=0; i<1000000; i++) {\r
+                               a = sum(a, b, c, d, e, f);\r
+                               b = sum(b, c, d, e, f, a);\r
+                               c = sum(c, d, e, f, a, b);\r
+                               d = sum(d, e, f, a, b, c);\r
+                               e = sum(e, f, a, b, c, d);\r
+                               f = sum(f, a, b, c, d, e);                              \r
+                       }\r
+                       long y = System.nanoTime();\r
+                       System.out.println("byte: "+(y-x)/*+" (sum="+(a+b+c+d+e+f)+")"*/);\r
+               }\r
+       }\r
+       \r
+       public static void intTest() {\r
+               System.gc();\r
+               {\r
+                       long x = System.nanoTime();\r
+                       int a = 6, b=3, c=67, d=2, e=-53, f=1;\r
+                       for (int i=0; i<1000000; i++) {\r
+                               a = sum(a, b, c, d, e, f);\r
+                               b = sum(b, c, d, e, f, a);\r
+                               c = sum(c, d, e, f, a, b);\r
+                               d = sum(d, e, f, a, b, c);\r
+                               e = sum(e, f, a, b, c, d);\r
+                               f = sum(f, a, b, c, d, e);                              \r
+                       }\r
+                       long y = System.nanoTime();\r
+                       System.out.println("int : "+(y-x)/*+" (sum="+(a+b+c+d+e+f)+")"*/);\r
+               }                               \r
+       }\r
+       \r
+       public static void longTest() {\r
+               System.gc();\r
+               {\r
+                       long x = System.nanoTime();\r
+                       long a = 6, b=3, c=67, d=2, e=-53, f=1;\r
+                       for (int i=0; i<1000000; i++) {\r
+                               a = sum(a, b, c, d, e, f);\r
+                               b = sum(b, c, d, e, f, a);\r
+                               c = sum(c, d, e, f, a, b);\r
+                               d = sum(d, e, f, a, b, c);\r
+                               e = sum(e, f, a, b, c, d);\r
+                               f = sum(f, a, b, c, d, e);                              \r
+                       }\r
+                       long y = System.nanoTime();\r
+                       System.out.println("long: "+(y-x)/*+" (sum="+(a+b+c+d+e+f)+")"*/);\r
+               }\r
+       }\r
+       \r
+       \r
+       \r
+       public static void main(String[] args) {\r
+               \r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+               \r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+\r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+               \r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+\r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+\r
+               byteTest();\r
+               intTest();\r
+               longTest();\r
+               \r
+       }\r
+       \r
+}\r