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 [] args ) 9 { 10 try 11 { 12 org.omg.CORBA.ORB 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 poa = 17 org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA")); 18 19 poa.the_POAManager().activate(); 20 21 org.omg.CORBA.Object 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 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 (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 (d.readLine()).intValue(); 68 int nb = loop; 69 System.out.print(" Size of array : "); 70 int size = new Integer (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 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 (d.readLine()).intValue(); 97 int nb = loop; 98 System.out.print(" Size of structure : "); 99 int size = new Integer (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 (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 } 164 System.out.print(" Ping [1] Array of int [2] " 165 +"Array of struct [3] : "); 166 167 } orb.shutdown( true ); 169 170 } 171 catch (Exception e) 172 { 173 System.out.println("### Exception !!! ### \n"); 174 e.printStackTrace(); 175 } 176 177 178 } 179 } 180 181 182 183 184 | Popular Tags |