[omniORB] Measuring omniorb's footprint. New footprint benchmark.

Duncan Grisby dgrisby@uk.research.att.com
Fri, 22 Feb 2002 12:41:15 +0000


On Thursday 21 February, Dan Kegel wrote:

> The benchmark measures how long it takes to do a parallel echo 
> (i.e.
>   for all servers do
>      invoke_deferred echo request
>   for all servers do
>      collect results )
> as a function of the number of echo servers running on the
> computer (both the client and all servers are running locally).

Perhaps I'm being dim, but I don't see how this benchmark measures
anything to do with footprint at all. You are measuring how well
send_deferred() works.

In omniORB, send_deferred() doesn't scale very well at all, since it
creates a new thread for each deferred request. Almost all the latency
you are seeing will be in thread switching. Improving deferred sends
might be a nice thing to do in a future omniORB version, but there has
never been any demand for it.

Your pipe based server also has the huge advantage that the pipes are
already opened before you do the "calls". omniORB opens a connection
to the server on the first invocation. If you do a call to each server
before the calls that you time, you'll find it goes quite a lot
faster, since the TCP connections will already be open.

Anyway, all of this performance stuff is interesting, but it has
absolutely nothing to do with memory footprint.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --