This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: COW strings in libstdc++



On 31 Aug 2009, at 18:44, Brendan Miller wrote:


It looks like the current implementation of string in libstdc++ is
copy on write correct? Is this also true of gcc 3.4? Is this behavior
guaranteed for the future, or will C++0x somehow require a change
here?

Generally I'm wondering whether it will remain efficient to do things
like stick strings by value in vectors to be sorted. Right now as I
see it, there's no real point in wrapping the string in a shared_ptr,
since it already uses reference counting internally.

With some care, rvalue references will get back all the speed, and more, of COW in many situations. running std::sort on a vector of strings will be faster in C++0x with non-COW strings than C++03 with COW strings. Of course sometimes you actually want to copy of a string, and that will be slower.


Chris



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]