[omniORB] Performance Question
Sai-Lai Lo
S.Lo@uk.research.att.com
09 Jul 1999 18:59:39 +0100
Georg,
For omniORB2, what you end up measuring is just the tcp performance.
For a sequence bigger 8192, omniORB2 do a direct send, in other words,
the first part of a GIOP request message is flushed to the socket, then a
direct socket send call is issued to push the sequence onto the socket.
On the receiving side, if a seqeuence is bigger than 1024, a direct recv kicks
in, a socket recv is called to receive the data directly into the sequence
buffer that is returned to the application.
My experience is that anything larger that 8K buffer, you can pretty much
saturate the full network bandwidth.
I do not know what visibroker has done to make local case works better in
your measurements. The remote case, it is quite obvious for the reason I've
already given.
It seems to me quite a number of people have done similar comparisons. It
is more interesting to me to see comparisons that involves multiple
concurrent clients doing transfers. Measurements on how much internal
buffering an ORB is consuming, etc.
Sai-Lai
>>>>> Georg Huettenegger writes:
> Now I did try also with sequences and got the following result:
> from sequence<char,1024> to sequence<char,8192> the time needed was 2,6
> times larger for omniorb and from sequence<char,8192> to
> sequence<char,65536> it was 5,7 times, that makes for a total of 15.
> For VisiBroker the values are: 1,8 times and 6,4 times, making a total of
> 11,5.
> These figures are much better than the ones with arrays but still omniorb
> is behind VisiBroker in the local case is this because VisiBroker uses
> Shared Memory on Windows NT?
> Remote VisiBroker is faster transferring the arrays whild OmniOrb is
> faster transferring the sequences.
--
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