[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 --- Comment #5 from Jonathan Wakely --- Author: redi Date: Fri Sep 23 17:25:34 2016 New Revision: 240447 URL: https://gcc.gnu.org/viewcvs?rev=240447&root=gcc&view=rev Log: Avoid reallocation for basic_string::clear() PR libstdc++/56166

[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-13 Thread xiyou.wangcong at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 --- Comment #3 from Cong Wang --- Hi, Andrew I just posted it: https://gcc.gnu.org/ml/libstdc++/2016-09/msg00051.html Please review. I caught this when using Google protobuf on Fedora 21, _M_mutate() is shown in perf top profile, inlined into

[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-13 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 --- Comment #2 from Andrew Pinski --- Patches goto gcc-patches@ and libstdc++@. Note !_GLIBCXX_USE_CXX11_ABI is most likely not going to be used for 90% of applications. It is only needed if you are linking between old binaries and using the ne

[Bug libstdc++/77582] Improve std::string::clear performace

2016-09-13 Thread xiyou.wangcong at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77582 --- Comment #1 from Cong Wang --- Created attachment 39614 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39614&action=edit A possible patch This patch improves it by using _S_empty_rep directly when _GLIBCXX_FULLY_DYNAMIC_STRING is not en