[omniORB] avoiding _is_a calls

Alex Tingle alex.omniorb at firetree.net
Thu Feb 10 20:09:00 GMT 2005


Hi Scott,

> I'm trying to optimize an application by avoiding as many network
> calls as possible. One thing I notice is that my app does allot of
> _is_a calls on all my objects. How do you avoid that?

_narrow() usually calls _is_a(). You can use _unchecked_narrow() instead of _narrow(). (I know that's not your issue, but it's worth mentioning.)

> interface LeadSession {
>    ciILead create(...);
> };
> 
> interface LeadSessionHome {
>      LeadSession getSession();
>  
> };
> 
> I invoke LeadSessionHome.getSession() which gives me a reference to a
> LeadSession object. I then invoke LeadSession.create()  and that's
> when I see the extra _is_a call being made.

Mysterious. I'm pretty sure that I don't see an _is_a() call in the situation you describe. Does it call _is_a() every time you call create() or just the first time?

Perhaps you should post some example C++.

regards,

-Alex Tingle

-- 
:: alex tingle
:: http://www.firetree.net/consulting/
:: alex.tingle AT firetree.net  +44-7901-552763 



More information about the omniORB-list mailing list