[omniORB] Howto performance test ORB GIOP/IIOP marshalling functions?

Duncan Grisby duncan@grisby.org
Tue Apr 8 12:28:02 2003


On Thursday 3 April, dahaverk@rockwellcollins.com wrote:

> I would appreciate a pointer to the omniORB marshalling functions.   I've
> been asked to do some profiling and performance analysis of CORBA
> marshalling code.   We are trying to determine what performance impact the
> marshalling has on an embedded target system.
> 
> Any assistance would be appreciated.   If there is a "top-level" test for
> the omniORB marshalling functionality that would be a good place for me to
> start.   I need my tests to be independent of the ORB implementation.

If you want ORB-independent tests, you need to write IDL interfaces
that pass around the types you are interested in, then time
invocations using them. It's pretty simple really. A group at Charles
University in Prague have done quite a lot of CORBA benchmarking that
you might want to look at. You can find their pages here:

  http://nenya.ms.mff.cuni.cz/projects.phtml?p=corbac&q=3

Unfortunately, they've recently started doing some tests of
multi-threaded server performance using a multi-threaded client. That
is a particularly silly thing to do, since omniORB intentionally
limits the number of client threads that can invoke on a particular
server at a time. This means that their results claim multi-threaded
omniORB servers are particularly bad, when actually it's that the
client was holding back from doing too many concurrent calls. They
don't seem to have realised this.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan@grisby.org     --
   -- http://www.grisby.org --