Archived

This forum has been archived. Please start a new discussion on GitHub.

Collocation invocation in IceBox

Hello Ice

I'd tried to estimate collocation invocation latency between two different services in IceBox.
So I have got some interesting results.

On my i7 3.2GHz machine, local function call latency is 2 ~ 4 micro seconds.
Under no collocation optimization invocation, it has 300 ~ 400 micro seconds latency.

There is more than 100 times latency gap between two function calls.
No collocation optimization invocation is extremely slow than that local function call.

Then under collocation optimization invocation by using "IceBox.UseSharedCommunicator.name = 1", now latency is became 20 ~ 30 micro seconds.
Excellent speed up!

But there is still latency gap which is almost 10 times between local function call and collocation optimization invocation.

My question is
Do you have some ways to reduce these latency gap?
Is this maximum performance of collocation invocation?

Comments

  • benoit
    benoit Rennes, France
    Hi,

    If you re-used the same proxy for each collocated invocation, there's probably not much room left to improve the speed of collocated invocations. A collocated call requires to acquire a number of mutexes and looking up the servant in the object adapter active servant map -- so I'm not surprised there's still a bit of overhead compared to a local call.

    Cheers,
    Benoit.