## OperaORB ##

- a tiny ORB wrapper on SOAP,RMT -

Simple Perf

(2004/05/03) This is a simple performance test of OperaORB. I've done with the following environments:

#Please note that rST does not run on Squeak 3.7b. So, the comparison is not so strict one.

Testing Codes:

Testing codes are simple.

  1. Prepare an OrderedColleciton in a server side.
  2. Add 'Hello, Remote Squeak World!' strings from one client (1000 times).
  3. See the results

rST:

Server side:

RSTBroker startOnPort: 9998 logging: false.
exportedOrderedCollection := OrderedCollection new.
RSTBroker instance export: exportedOrderedCollection named: 'myOrderedCollection'. 

Client side:

remoteOrderedCollection := ('myOrderedCollection@192.168.1.2:9998') asRemoteObjectID asLocalObject.
[1000 timesRepeat: [remoteOrderedCollection add: 'Hello, Remote Squeak World!']] timeToRun.

OperaORB-native:

Server side:

OperaORB init: {{#port:. 9999}}.
OperaNamingService local at: #myOrderedCollection put: OrderedCollection new.

Client side:

namingService := OperaNamingService host: '192.168.1.2' port: 9999.
remoteOrderedCollection := namingService at: #myOrderedCollection.
[1000 timesRepeat: [remoteOrderedCollection add: 'Hello, Remote Squeak World!']] timeToRun.

Results:

Three trials.

first(msec) second(msec) third(msec)
rST 13406 13755 13836
OperaORB-native 3373 3457 3448

OperaORB-native is faster. I think it is because RMT keeps connections, while rST not.

If I tried OperaORB SOAP, it would be slower than rST, because SOAP (over HTTP) does not keep connections and all invocations are encoded in XML.

Suggestions?

Any feedback is appreciated.

^back to SoapOpera top

Masashi Umezawa