[
https://issues.apache.org/jira/browse/STDCXX-914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646015#action_12646015
]
Martin Sebor commented on STDCXX-914:
-------------------------------------
Here are the top 10 functions from the
{{[stdcxx-914-gprof-gcc-4.3.0-12S.txt|https://issues.apache.org/jira/secure/attachment/12393570/stdcxx-914-gprof-gcc-4.3.0-12S.txt]}}
attachment:
{noformat}
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
32.40 2.99 2.99 30000000 0.00 0.00
__rw::__rw_locale::_C_is_managed(int) const
13.98 4.28 1.29 50000000 0.00 0.00
__rw::__rw_locale::_C_manage(__rw::__rw_locale*, char const*)
6.83 4.91 0.63 10000000 0.00 0.00 std::istream&
std::operator>><char, std::char_traits<char>, std::allocator<char>
>(std::istream&, std::string&)
4.98 5.37 0.46 10000001 0.00 0.00
std::string::operator=(std::string const&)
4.98 5.83 0.46 10000000 0.00 0.00 std::ostream&
__rw::__rw_insert<char, std::char_traits<char>, long>(std::ostream&, long)
4.66 6.26 0.43 10000000 0.00 0.00 std::num_put<char,
std::ostreambuf_iterator<char, std::char_traits<char> >
>::_C_put(std::ostreambuf_iterator<char, std::char_traits<char> >,
std::ios_base&, char, int, void const*) const
3.36 6.57 0.31 10000000 0.00 0.00 std::string
lex_cast<std::string, long>(long const&)
3.25 6.87 0.30 10000000 0.00 0.00 __rw::__rw_dtoa(char*,
unsigned long, unsigned int)
3.03 7.15 0.28 main
2.49 7.38 0.23 30000000 0.00 0.00 std::locale::~locale()
...
{noformat}
> sstream ctors inefficient in reentrant modes
> --------------------------------------------
>
> Key: STDCXX-914
> URL: https://issues.apache.org/jira/browse/STDCXX-914
> Project: C++ Standard Library
> Issue Type: Improvement
> Components: 27. Input/Output
> Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0, 4.2.1
> Reporter: Martin Sebor
> Priority: Critical
> Fix For: 4.2.2
>
> Attachments: stdcxx-914-gprof-gcc-4.1.2-12D.txt,
> stdcxx-914-gprof-gcc-4.3.0-12S.txt
>
> Original Estimate: 12h
> Time Spent: 1h
> Remaining Estimate: 11h
>
> As discussed in this [thread|http://markmail.org/message/hqlsw5dq23gx7d4o]
> stream ctors in thread-safe builds are inefficient due to the initialization
> of the mutex data member in every stream, even in those that never use it. As
> soon as binary compatibility rules permit it we should remove the mutex
> and/or defer its initialization until it's needed. It might be possible to
> implement the deferred initialization as early as 4.2.2, or maybe 4.3.
> Complete removal will need to wait until 5.0.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.