
This directory contains the RMI benchmarks developed by Nandu
(nandu@jove.acs.unt.edu) our summer intern. The testplan that this
tests executes is located in http://jse/sqe/testplans/rmiperf.html.


Do the following to build and run this benchmark:

/js/files/NetCharts/classes to your class path.

-run the shell script setup. (note: if you checked this out from
 SCCS you need to execute the command  "chmod +x setup").

At present a setup.bat for the Windows world does not exist.
To run the program on Windows first start the rmiregistry
and subsequently execute the following:

start java benchmarks.DataServerImpl -showProg 
start java benchmarks.TestClient




The benchmark will generate a report of how long each component of the benchmark
took for the RMI call and also thw time that it took to serialize the
args to the RMI call as well  as how long the entire benchmark took. This will 
be a formatted .html file.

NOTE: The first time a serializable object is used as an arg to a RMI call,
it takes a longer time ( called the cold case ) since it has to load the class 
and do vatoius additional things in the ObjectStream.. So, in these tests, the
first serialization component returned by the test will be large and the RMI 
component will will be smaller than in reality.

The default location for this is ./reports/report.html. This is configurable.
See the file benchmarks.server.properties for details.

In addition, this benchmark creates a log file that is located in the
directory benchmarkLogs. The file is a serialized object that can be viewed
in an Applet. 

The benchmark allows the user to run any individual test by using the 
-tlist option as shown in the usage below.

Here is the usage line for the client side:

timor 63 =>java benchmarks.TestClient -help

usage: java benchmarks.TestClient [-help] [-numClients=n][-showProg] [-vers="java_version"] [[-tlist="1,2,...13"]
   where :--
       -numClients=n          :Number of clients to be spawned.(default 1)
       -showProg              :verbose execution.(default false)
       -vers="java_version" :the java version.
       -tlist="1,2,...13" :the list of tests to be run which are as follows
 ( the default is all 13 tests ):-

  TestNum    TestName
-----------  --------
    1	     Null call
    2	     Remote method with int arg
    3	     Remote method with intArray arg
    4	     Remote method with byteArray arg
    5	     Remote method with doubleArray arg
    6	     Remote method with obj arg
    7	     Remote method with int & obj arg
    8	     Remote method with objArray arg
    9	     Remote method with remote arg
    10	     Remote method returning remote obj 
    11	     Remote method returning vector of new and old remote objs 
    12	     Remote method throwing exceptions
    13	     Remote method with obj Graph (Btree) arg


In general, if you should use the -vers option to identify the build
you are using. The value of -vers is what will show up in the report.
If you do not specify -vers it will use the value returned by 
System.getProperty().


To look at the visual results of an applet, you must first start 
visualBenchMarks DataServer.  To do this the command is:

java visualBenchmarks.DataServerImpl &

You can then start the applet with the following command:

appletviewer test.html.

The GUI for the applet should be self explanatory.


