"Efficiency" of omniORB, ORBs in general?
Emmanuel Saint-Loubert
saintlou@tumbleweed.com
Mon, 09 Jun 1997 10:16:04 -0700
Hello John,
Our application is currently using RPC and we are thinking of using an
ORB. I ran some performance tests to compare native Windows NT 4.0 RPC
to OmniORB2 (see below). I was very happy with the results. As you will
see OmniOrb2 has very little overhead.
However these findings apply only to OmniORB2, whereas other vendors'ORB
which often makes several calls to the Interface Repository and to the
Typdecode interpreter can be much slower.
I have been involved in the writing of an ORB and Services at another
company and yes ORB can be inefficient, there are several potential
problems which are the **flip side** of how much dynamic behaviour you
(+ the ORB) use.
Here is what I found, by modifying one of our existing applications:
+ My test involved making a call with 1 in/out struct, 2 in
sequences, 1 in struct and in string.
All sequences had at least 1 element of average size
15 bytes
+ I performed each call 10,000 times and averaged 3 runs
+ Timing was measured round-trip (from the client) the
server implementation was changed to return immediately.
Time mesurement does not include start-up time, etc...
only the remote call was measured.
+ Tests were conducted on NT 4.0 with Pentium Pro 180Mhz
The remote calls where measured between 2 of the same NT
systems sitting on the same LAN.
RPC CORBA (omni2)
---------------------------------------------------------------
IPC (local) 159 micro-secs n/a
TCP/IP (local) 515 micro-secs 595 micro-secs
TCP/IP (remote) 1098 micro-secs 1100 micro-secs
-------------------------------------------------------------------------
I hope that helps...
-- Emmanuel R. Saint-Loubert saintlou@tumbleweed.com
Tumbleweed Software Corp. http://www.tumbleweed.com
2010 Broadway Tel 415-569-3676
Redwood City, CA 94063 Fax 415-369-7197