[omniORB] Performance Question

Georg Huettenegger georg@mondoshawan.unix.cslab.tuwien.ac.at
Thu, 8 Jul 1999 19:36:20 +0200 (CEST)


> In omniORB2, unlike sequence of basetypes, array of basetypes (e.g. char)
> are marshalled one at a time. Sequence of basetypes are either done in one
> memcpy or directly sent to the socket depending on the size of data.
> 
> There is no inheritance reason why array cannot be made to do the same as
> sequence. It is just a matter of a few small changes to the IDL ompiler.
> I just don't feel bothered to do so because in real applications, it is
> rarely useful to pass around a large array of basetype when sequence of
> basetype can do the same job and is more flexible.

I will try the same thing with a sequence but I would in general think
such a small change given a high performance boost (for maybe only
very rare cases) should be worth it.

> By the way, to avoid duplication of work, you may want to read similar
> performance comparisons done by Charles University last year:
> 
> http://www.kav.cas.cz/~buble/corba/comp/

Well actually I am using that benchmark (in a slightly modified form).

Georg Huettenegger

> 
> >>>>> Georg Huettenegger writes:
> 
> > I am currently comparing different systems for distributed computing
> > including VisiBroker/Orbix/OmniOrb.
> 
> > I am doing a one server to one client scenario locally on one computer and
> > over a 10Mbit network.
> 
> > I am sending data types from 1-8 byte and arrays with 1024 byte. These
> > tests show rather good performance for OmniOrb (especially over the
> > network, locally on Windows NT DCOM is better and partially VisiBroker).
> 
> > Recently I added an array (typedef char xx[8192] and typedef char
> > yy[65536]) to my test and transferred these larger messages (for now just
> > locally on a Windows NT computer).
> 
> > With OmniOrb the increase in the needed time for a call is (from 1024 byte
> > to 8192): 4.78 and (from 8192 to 65536): 7.47
> > With VisiBroker I get: 1.68 and 6.18;
> > With Orbix 2.3c I get: 1.23 and 2.54; (with the Orbix values being
> > initially higher).
> 
> > These values are not yet commented by Iona or Inprise they are just tries
> > I made. When my comparison is finished I expect to publish some results.
> 
> > The source for all systems is the same and I am wondering why OmniOrb does
> > not keep up its speed when more data is transferred (is the data copied to
> > often? is the OmniOrb transfer method more likely to be hindered by OS
> > restrictions?).
> 
> 
> -- 
> Sai-Lai Lo                                   S.Lo@uk.research.att.com
> AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
> 24a Trumpington Street                Tel:   +44 1223 343000
> Cambridge CB2 1QA                     Fax:   +44 1223 313542
> ENGLAND
> 
>