[ 
https://issues.apache.org/jira/browse/STDCXX-907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Travis Vitek updated STDCXX-907:
--------------------------------

    Patch Info: [Patch Available]

> messages<charT>::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.0
>
>         Attachments: stdcxx-907.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The {{_STD::messages<T>::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.

Reply via email to