Bug 3355 - Rework policy support to not have cached policies anymore
Summary: Rework policy support to not have cached policies anymore
Status: NEW
Alias: None
Product: TAO
Classification: Unclassified
Component: ORB (show other bugs)
Version: 1.6.5
Hardware: All All
: P2 enhancement
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks:
 
Reported: 2008-06-25 05:41 CDT by Johnny Willemsen
Modified: 2008-06-25 05:41 CDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johnny Willemsen 2008-06-25 05:41:06 CDT
Currently the Policy_Set and other internal classes deliver a cached_type which is defined in orbconf.h. All policies that are cached need to implement the _tao_cached_type method (which is hacked into PolicyC.h/cpp. Then the Policy_Set stores an array with all the cached policies that each time is cleared, copied, filled ,etc. With ZIOP added there are around 25 policies that are cached. So the set has each time an array with just a few pointers set. When looking at a real system mostly people will have just a few policies set, looking at the copy/update overhead I think we should change the internals of TAO_Policy_Set to use for example an ACE_Array_Map, this is used internally and maybe converted to a CORBA::PolicyList when needed. This would reduce the amount of code in the core and all the policies a lot and I don't think it will impact performance really, ok, getting a cached policy maybe takes a little bit longer (if you have a lot of policies set at least), but updating that cache also takes time each update