hammant 02/01/17 17:08:59 Modified: altrmi PROPOSAL Log: new speed benchmarks Revision Changes Path 1.4 +34 -9 jakarta-commons-sandbox/altrmi/PROPOSAL Index: PROPOSAL =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/PROPOSAL,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- PROPOSAL 16 Jan 2002 11:32:19 -0000 1.3 +++ PROPOSAL 18 Jan 2002 01:08:59 -0000 1.4 @@ -32,13 +32,40 @@ 3) Speed - - Using the AltRMI over RMI transport as a baseline. Measuring 100,000 - method invocations after discarding the first for the purposes of - timing, ObjStream over sockets is three times faster, ObjStream over - Pipe is eleven times faster, Direct is a thousand times faster. Granted - there could be less of an advantage if compared to a proper RMI solution - (not layered), or one that is in the same VM with different threads. - + - Counting the number of 'void testSpeed()' invocations in 10 seconds, + we can guage the differences (my Athlon900 machine) + + Speed Test type Count Relative + ------------------------------- ------- -------- + + *AltRMI types* + + a) ObjectStream over sockets #2 1472 1.00 + b) CustomStream over sockets 3198 2.17 + c) Over RMI 3338 2.30 + d) ObjectStream over Pipe #2 8243 5.59 + e) ObjectStream over sockets #1 8865 6.02 + f) ObjectStream over Pipe #1 64789 44.01 + g) Direct #3 2309432 1568.90 + + #1 Without calling reset() as workaround to the ObjectStream bug + #2 With calling reset() as workaround to the ObjectStream bug + #3 Marshalled but not streamed. Still as good as DynamicProxy + for separation. + + *Non AltRMI types* + + (In VM, without using AltRMI - for comparison) + + h) DyanmicProxy #4, #5 + (copied from Excalibur) 20282070 13778.58 + i) Hand-coded proxy #4, #5 41214422 27998.92 + j) No Proxy #4, #5 42384804 28794.02 + + #4 - For all of these three, the actual timing may slow down the test. + #5 - The inteface, impl and proxy cannot be separated in terms of + branches of classloader for these three. + 4) Interface/Impl separated design. - AltRMI can be build easily into any application or application framework. @@ -117,7 +144,6 @@ - SOAP, CORBA (with WDSL & IDL generation steps) - Other RMI (over IIOP, over HTTP) - - Custom, socket protocol - JMS 2) BCEL for generated proxy class. @@ -131,7 +157,6 @@ 3) Client and Server code for secure conversations. -4) Authentication and Authorisation on lookup(..). Initial committers:
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>