Changes and additional files for RMI profiling
[iot2.git] / iotjava / iotrmi / Java / basics / TestClass_ProfilingStub.java
1 import java.util.Arrays;
2 import java.util.List;
3 import java.util.ArrayList;
4 import iotruntime.master.CommunicationHandler;
5
6 public class TestClass_ProfilingStub {
7
8         public static void main(String[] args) throws Exception {
9                 CommunicationHandler comHan = new CommunicationHandler(true);
10                 int numOfPorts = 2;
11                 //int[] ports = comHan.getCallbackPorts(numOfPorts);
12
13                 //int localportsend = 5011;
14                 //int localportrecv = 6011;
15                 int portsend = 5000;
16                 int portrecv = 6000;
17                 //String skeletonAddress = "128.195.136.163";
18                 //String skeletonAddress = "128.195.204.132";
19                 String skeletonAddress = "192.168.2.108";
20                 //String callbackAddress = "128.195.204.132";           // dw-2.eecs.uci.edu (this              machine)
21                 String callbackAddress = "192.168.2.191";
22                 int rev = 0;
23
24                 //TestClassComplete_Stub tcstub = new TestClassComplete_Stub(localportsend, localportrecv, portsend, portrecv, 
25                         //skeletonAddress, rev);
26                 TestClassComplete_Stub tcstub = new TestClassComplete_Stub(0, 0, portsend, portrecv, skeletonAddress, rev);
27                 //byte[] in1 = { 68, 69 };
28                 //int counter = 100;
29                 //byte[] in1 = new byte[counter];
30                 //for (int i=0; i<counter; i++)
31                 //      in1[i] = 68;
32                 System.out.println("==== STRUCT ====");
33                 Struct str = new Struct();
34                 str.name = "Rahmadi";
35                 str.value = 0.123f;
36                 str.year = 2016;
37                 // PROFILING
38                 long start = 0;
39                 long end = 0;
40                 //byte[] returned = null;
41                 int exp = 10;
42                 long avg = 0;
43                 //Struct strRes = null;
44                 long longVar = 0;
45                 long inVar = 1234;
46                 double doubleVar = 0;
47                 double inDouble = 1234.1234;
48                 for (int i = 0; i < exp; i++) {
49                         start = System.currentTimeMillis();
50                         //start = System.nanoTime();
51                         //System.out.println("Return value: " + Arrays.toString(tcstub.getByteArray(in1)));
52                         //returned = tcstub.getByteArray(in1);
53                         //strRes = tcstub.handleStruct(str);
54                         //longVar = tcstub.getLong(inVar);
55                         doubleVar = tcstub.getDouble(inDouble);
56                         end = System.currentTimeMillis();
57                         //end = System.nanoTime();
58                         //long res = (end - start) / 1000;
59                         long res = (end - start);
60                         System.out.println("\n\n ==> Time: " + res);
61                         //System.out.println("\n\n ==> Time: " + (end - start));
62                         avg = avg + res;
63                 }
64                 System.out.println("Average: " + (avg / exp));
65         }
66
67 }