[ https://issues.apache.org/jira/browse/STDCXX-907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Travis Vitek reassigned STDCXX-907: ----------------------------------- Assignee: Travis Vitek > messages::do_get() inefficiency requires unnecessary locking > ------------------------------------------------------------------- > > Key: STDCXX-907 > URL: https://issues.apache.org/jira/browse/STDCXX-907 > Project: C++ Standard Library > Issue Type: Bug > Components: 22. Localization > Affects Versions: 4.2.1 > Reporter: Travis Vitek > Assignee: Travis Vitek > Priority: Minor > Fix For: 4.3 > > Attachments: stdcxx-907.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > The {{_STD::messages::do_get()}} method might actually call {{\_\_rw_manage_cat_data()}} up to three times to access the cache. Since each access involves a mutex lock, there are going to be some wasted cycles. It would be nice to reduce this to one access. Perhaps the {{_RW::\_\_rw_get_message()}} function could be changed to fill in a pointer to the {{_STD::locale}} that is kept in the cache and the {{_RW::\_\_rw_get_locale()}} function could be removed. > For backward binary compatibility we would need to keep the existing functions around, but we could add an overload and then deprecate the old ones using the {{_RWSTD_VER}} macro. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.