KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > demo > benchmark > ColocatedServer


1 package demo.benchmark;
2
3 import java.io.*;
4 import org.omg.CosNaming.*;
5
6 public class ColocatedServer
7 {
8     public static void main( String JavaDoc[] args )
9     {
10     try
11     {
12         org.omg.CORBA.ORB JavaDoc orb = org.omg.CORBA.ORB.init(args, null);
13         NamingContextExt nc =
14         NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService"));
15
16         org.omg.PortableServer.POA JavaDoc poa =
17         org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
18
19         poa.the_POAManager().activate();
20
21         org.omg.CORBA.Object JavaDoc o = poa.servant_to_reference(new benchImpl());
22
23         NameComponent [] name = new NameComponent[1];
24         name[0] = new NameComponent("benchServer", "service");
25         nc.bind(name, o);
26         
27         bench server = benchHelper.narrow(nc.resolve(name));
28
29         System.out.print(" Ping [1]\n"
30                  +" Transfer array of int [2]\n"
31                  +" Transfer array of struct [3]\n"
32                  +" \n"
33                  +" Auto mode - Long! - [auto]\n"
34                  +" EXIT [0]\n"
35                  +" --------------------------------\n"
36                  +" Your choice : ");
37
38         DataInput d = new DataInputStream(System.in);
39         String JavaDoc line;
40     
41         while ((line = d.readLine()) != null)
42         {
43         if ( line.equals("1") )
44         {
45             System.out.print(" Number of loops : ");
46             int loop = new Integer JavaDoc(d.readLine()).intValue();
47             int nb = loop;
48             long startTime = 0;
49             long stopTime = 0;
50
51             startTime = System.currentTimeMillis();
52             while (nb-- > 0)
53             server.ping();
54
55             stopTime = System.currentTimeMillis();
56
57             System.out.println(">>> Elapsed time = "
58                        + (stopTime - startTime)/1000
59                        + " secs avg time = ("
60                        + ( (stopTime - startTime)/ (float)loop)
61                        + ") msecs");
62             
63         }
64         else if ( line.equals("2") )
65         {
66             System.out.print(" Number of loops : ");
67             int loop = new Integer JavaDoc(d.readLine()).intValue();
68             int nb = loop;
69             System.out.print(" Size of array : ");
70             int size = new Integer JavaDoc(d.readLine()).intValue();
71             int myInt[] = new int[size];
72             for( int si = 0; si < size; si++)
73             {
74             myInt[si]=si;
75             }
76
77             int ret_vals[] = null;
78                     
79             long startTime = System.currentTimeMillis();
80             while (nb-- > 0)
81             ret_vals = server.intTransfer(myInt);
82
83             // for(int i = 0; i < size; System.out.print(" " + ret_vals[i++]));
84

85             long stopTime = System.currentTimeMillis();
86             System.out.println(">>> Elapsed time = "
87                        + (stopTime - startTime)/1000
88                        + " secs Average time = "
89                        + ((stopTime - startTime) / (float)loop)
90                        + " msecs");
91                     
92         }
93         else if ( line.equals("3") )
94         {
95             System.out.print(" Number of loops : ");
96             int loop = new Integer JavaDoc(d.readLine()).intValue();
97             int nb = loop;
98             System.out.print(" Size of structure : ");
99             int size = new Integer JavaDoc(d.readLine()).intValue();
100             Struct myStruct[] = new Struct[size];
101             for( int si = 0; si < size; si++)
102             myStruct[si]= new Struct();
103         
104             long startTime = System.currentTimeMillis();
105             while (nb-- > 0)
106             server.structTransfer(myStruct);
107             long stopTime = System.currentTimeMillis();
108             System.out.println(">>> Elapsed time = "
109                        + (stopTime - startTime)/1000
110                        + " secs Average time = "
111                        + ((stopTime - startTime) / (float)loop)
112                        + " msecs");
113             
114         }
115         else if ( line.equals("auto"))
116         {
117             System.out.println("#### Entering auto-mode ####");
118             System.out.print(" Number of loops : ");
119             int loop = new Integer JavaDoc(d.readLine()).intValue();
120             int size = 1;
121             System.out.println("\n Results are average times in msecs for "
122                        + loop+ " round trips\n");
123             System.out.println(" Size of array Ping Array of int Array of struct");
124             System.out.println(" ============= ======== ============ ===============");
125             for (int i=0;i<6;i++)
126             {
127             System.out.print("\t"+size);
128             int myInt[] = new int[size];
129             Struct myStruct[] = new Struct[size];
130             for( int si = 0; si < size; si++)
131             {
132                 myStruct[si]= new Struct();
133                 myInt[si]=si;
134             }
135             long startTime = System.currentTimeMillis();
136             int nb = loop;
137             while (nb-- > 0)
138                 server.ping();
139             long stopTime = System.currentTimeMillis();
140             System.out.print("\t"+((stopTime - startTime) / (float)loop));
141             startTime = System.currentTimeMillis();
142             nb = loop;
143             while (nb-- > 0)
144                 server.intTransfer(myInt);
145             stopTime = System.currentTimeMillis();
146             System.out.print("\t"+((stopTime - startTime) / (float)loop));
147             startTime = System.currentTimeMillis();
148             nb = loop;
149             while (nb-- > 0)
150                 server.structTransfer(myStruct);
151             stopTime = System.currentTimeMillis();
152             System.out.println("\t\t"+((stopTime - startTime) / (float)loop));
153             size = size*10;
154             }
155             System.out.println("\n#### Exiting auto-mode ####\n");
156         }
157         else if ( line.equals("0") )
158         {
159             System.out.println("\nExiting ...");
160             orb.shutdown( true );
161             return;
162             //System.exit(0);
163
}
164         System.out.print(" Ping [1] Array of int [2] "
165                  +"Array of struct [3] : ");
166              
167         } // while
168
orb.shutdown( true );
169
170     }
171     catch (Exception JavaDoc e)
172     {
173         System.out.println("### Exception !!! ### \n");
174         e.printStackTrace();
175     }
176
177
178     }
179 }
180
181
182
183
184
Popular Tags