[omniORB] avoiding _is_a calls

Scott Robertson srobertson at codeit.com
Thu Feb 10 10:26:23 GMT 2005


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?

I thought as long as my type's matched it doesn't need to invoke _is_a.
For instance, give these two interfaces:

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. Which seems odd to me because the
type id of the object I got back from getSession() is a LeadSession. So
why does omniORB need to invoke _is_a() on it prior to calling create?

-- 
Scott Robertson <srobertson at codeit.com>




More information about the omniORB-list mailing list