[omniORB] Optimizing the roundtrip-time of function calls?

Duncan Grisby duncan at grisby.org
Thu Apr 30 18:03:58 BST 2009


On Tuesday 28 April, Oliver Frick wrote:

> I take time-stamps from the hires system clock immediately before and
> after the call on the client side and during the call on the server
> side.

[...]
> Since it is the same clock (both processes run on the same host)
> the time-stamps are compatible:
> (m - a) = (b - m) / R
> with R between 4 and 10, sometimes higher.
> 
> I get similar results on Windows XP and Mac OS 10.5.

Are you able to post your complete test code?  I've tried an experiment
with Linux, and it doesn't show any significant variation between the
times.

One possible explanation is that the exact way your test works causes an
interaction with the OS scheduler. When the client makes the call, it
sends the request then immediately blocks on the connection waiting for
the reply. The OS will therefore immediately go looking for a process to
run next, and will find that the server can wake up. On the other hand,
after the server sends its reply it has various housekeeping to do, so
it doesn't block immediately. There is therefore more scope for delay
before the OS notices that the client is runnable again.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list