[omniORB] local invocations

Duncan Grisby dgrisby@uk.research.att.com
Thu, 08 Nov 2001 17:44:13 +0000


On Thursday 8 November, Carl Thompson wrote:

> I haven't tried it, but I believe you must specifically tell the server to 
> listen to a Unix domain socket using -ORBendpoint or equivalent.  The client 
> shouldn't need to do anything special but of course it must reside on the 
> same machine as the server and must have access to the socket.  The server 
> objects' IORs will properly tell the clients how to reach it.

The option is -ORBendPoint. You use it like:

  server -ORBendPoint giop:unix: -ORBendPoint giop:tcp::

If you only specify the giop:unix: endpoint, the server is _only_
accessible through Unix domain sockets, and not through TCP.

On my machine, Unix domain sockets make calls about 30% faster:
through the TCP loopback, a null call takes 151 microseconds; through
Unix sockets it's 104 ms.


For the real speed freaks (Hi Stefan and Stephen!) I've just checked
in a shortcut mechanism for in-process colocated calls. This reduces
the time for a colocated call from 2000 nanoseconds to 70 ns, at the
expense of no longer being CORBA compliant.

The details about the shortcut mechanism are here:

  http://www.uk.research.att.com/cgi-bin/omni-wiki/moin.cgi/OmniOrb4DevelopmentStatus#line504

Details about Unix domain socket things are elsewhere on the same
page.

Cheers,

Duncan.

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