1 package demo.benchmark; 2 3 import java.io.*; 4 import org.omg.CosNaming.*; 5 6 12 13 public class Client 14 { 15 16 public static void main(String args[]) 17 { 18 org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); 19 bench server = null; 20 21 try 22 { 23 if( args.length > 0 ) 24 { 25 try 26 { 27 File f = new File( args[0] ); 28 BufferedReader br = new BufferedReader( new FileReader( f )); 29 String ior = br.readLine(); 30 br.close(); 31 server = benchHelper.narrow(orb.string_to_object(ior)); 32 } 33 catch (Exception e) 34 { 35 e.printStackTrace(); 36 System.exit( 1 ); 37 } 38 39 } 40 else 41 { 42 NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService")); 43 server = benchHelper.narrow(nc.resolve(nc.to_name("benchmark"))); 44 } 45 46 System.out.print(" Ping [1]\n" 47 +" Transfer array of int [2]\n" 48 +" Transfer array of byte [3]\n" 49 +" Transfer array of struct [4]\n" 50 +" Transfer array of string [5]\n" 51 +" \n" 52 +" Auto mode - Long! - [auto]\n" 53 +" EXIT [0]\n" 54 +" --------------------------------\n" 55 +" Your choice : "); 56 57 DataInput d = new DataInputStream(System.in); 58 String line; 59 60 while ((line = d.readLine()) != null) 61 { 62 if ( line.equals("1") ) 63 { 64 System.out.print(" Number of loops : "); 65 int loop = new Integer (d.readLine()).intValue(); 66 int nb = loop; 67 long startTime = 0; 68 long stopTime = 0; 69 70 startTime = System.currentTimeMillis(); 71 while (nb-- > 0) 72 server.ping(); 73 74 stopTime = System.currentTimeMillis(); 75 76 System.out.println(">>> Elapsed time = " 77 + (stopTime - startTime)/1000 78 + " secs avg time = (" 79 + ( (stopTime - startTime)/ (float)loop) 80 + ") msecs"); 81 82 } 83 else if ( line.equals("2") ) 84 { 85 System.out.print(" Number of loops : "); 86 int loop = new Integer (d.readLine()).intValue(); 87 int nb = loop; 88 System.out.print(" Size of array : "); 89 int size = new Integer (d.readLine()).intValue(); 90 int myInt[] = new int[size]; 91 for( int si = 0; si < size; si++) 92 { 93 myInt[si]=si; 94 } 95 96 int ret_vals[] = null; 97 98 long startTime = System.currentTimeMillis(); 99 while (nb-- > 0) 100 ret_vals = server.intTransfer(myInt); 101 102 104 long stopTime = System.currentTimeMillis(); 105 System.out.println(">>> Elapsed time = " 106 + (stopTime - startTime)/1000 107 + " secs Average time = " 108 + ((stopTime - startTime) / (float)loop) 109 + " msecs"); 110 111 } 112 else if ( line.equals("3") ) 113 { 114 116 System.out.print(" Number of loops : "); 117 int loop = new Integer (d.readLine()).intValue(); 118 int nb = loop; 119 System.out.print(" Size of array : "); 120 int size = new Integer (d.readLine()).intValue(); 121 byte mybytes[] = new byte[size]; 122 123 long startTime = System.currentTimeMillis(); 124 while (nb-- > 0) 125 server.octetTransfer(mybytes); 126 127 long stopTime = System.currentTimeMillis(); 128 System.out.println(">>> Elapsed time = " 129 + (stopTime - startTime)/1000 130 + " secs Average time = " 131 + ((stopTime - startTime) / (float)loop) 132 + " msecs"); 133 134 } 135 else if ( line.equals("4") ) 136 { 137 139 System.out.print(" Number of loops : "); 140 int loop = new Integer (d.readLine()).intValue(); 141 int nb = loop; 142 System.out.print(" Array Size : "); 143 int size = new Integer (d.readLine()).intValue(); 144 Struct myStruct[] = new Struct[size]; 145 146 for( int si = 0; si < size; si++) 147 myStruct[si]= new Struct(); 148 149 long startTime = System.currentTimeMillis(); 150 while (nb-- > 0) 151 server.structTransfer(myStruct); 152 153 long stopTime = System.currentTimeMillis(); 154 System.out.println(">>> Elapsed time = " 155 + (stopTime - startTime)/1000 156 + " secs Average time = " 157 + ((stopTime - startTime) / (float)loop) 158 + " msecs"); 159 160 } 161 else if ( line.equals("5") ) 162 { 163 165 System.out.print(" Number of loops : "); 166 int loop = new Integer (d.readLine()).intValue(); 167 int nb = loop; 168 System.out.print(" Array size: "); 169 int size = new Integer (d.readLine()).intValue(); 170 String myString[] = new String [size]; 171 172 for( int si = 0; si < size; si++) 173 myString[si]= "testString"; 174 175 long startTime = System.currentTimeMillis(); 176 while (nb-- > 0) 177 server.stringTransfer(myString); 178 179 long stopTime = System.currentTimeMillis(); 180 System.out.println(">>> Elapsed time = " 181 + (stopTime - startTime)/1000 182 + " secs Average time = " 183 + ((stopTime - startTime) / (float)loop) 184 + " msecs"); 185 186 } 187 else if ( line.equals("auto")) 188 { 189 System.out.println("#### Entering auto-mode ####"); 190 System.out.print(" Number of loops : "); 191 int loop = new Integer (d.readLine()).intValue(); 192 int size = 1; 193 System.out.println("\n Results are average times in msecs for " 194 + loop+ " round trips\n"); 195 System.out.println(" Array size Ping int[] byte[] struct[] string[]"); 196 System.out.println(" ============= ======== ====== ======= ========== ========="); 197 198 for (int i = 0; i < 6; i++ ) 199 { 200 System.out.print("\t"+size); 201 int myInt[] = new int[size]; 202 byte myByte[] = new byte[size]; 203 Struct myStruct[] = new Struct[size]; 204 String myString[] = new String [size]; 205 for( int si = 0; si < size; si++) 206 { 207 myStruct[si]= new Struct(); 208 myInt[si]=si; 209 myString[si]= "testString"; 210 } 211 212 long startTime = System.currentTimeMillis(); 213 214 int nb = loop; 215 while (nb-- > 0) 216 server.ping(); 217 218 long stopTime = System.currentTimeMillis(); 219 System.out.print("\t"+((stopTime - startTime) / (float)loop)); 220 startTime = System.currentTimeMillis(); 221 222 nb = loop; 223 while (nb-- > 0) 224 server.intTransfer(myInt); 225 226 stopTime = System.currentTimeMillis(); 227 System.out.print("\t"+((stopTime - startTime) / (float)loop)); 228 229 startTime = System.currentTimeMillis(); 230 nb = loop; 231 while (nb-- > 0) 232 server.octetTransfer( myByte ); 233 stopTime = System.currentTimeMillis(); 234 System.out.print("\t"+((stopTime - startTime) / (float)loop)); 235 236 startTime = System.currentTimeMillis(); 237 nb = loop; 238 while (nb-- > 0) 239 server.structTransfer(myStruct); 240 stopTime = System.currentTimeMillis(); 241 System.out.print("\t"+((stopTime - startTime) / (float)loop)); 242 243 startTime = System.currentTimeMillis(); 244 nb = loop; 245 while (nb-- > 0) 246 server.stringTransfer(myString); 247 stopTime = System.currentTimeMillis(); 248 System.out.print("\t"+((stopTime - startTime) / (float)loop)); 249 250 System.out.println(); 251 size = size*10; 252 } 253 System.out.println("\n#### Exiting auto-mode ####\n"); 254 } 255 else if ( line.equals("0") ) 256 { 257 System.out.println("\nExiting ..."); 258 orb.shutdown( true ); 259 return; 260 } 262 System.out.print(" Ping [1] Array of int [2] Array of byte [3] " 263 +"Array of struct [4] : "); 264 265 } } 267 catch (Exception e) 268 { 269 System.out.println("### Exception !!! ### \n"); 270 e.printStackTrace(); 271 } 272 orb.shutdown( true ); 273 } 275 } 276 277 278 | Popular Tags |