We originally used String::adopt(Vector) in the parser because we thought it would be faster, but studying profiles and experimenting with benchmarks revealed that (at least for those use cases) it was actually slower than just memcpying the data into the String. I haven't looked at the other uses of String::adopt(Vector) in the codebase, but they might also run faster using memcpy.
I think it's probably fine to remove String::adopt(Vector). Adam On Wed, Dec 7, 2011 at 10:10 AM, Darin Adler <da...@apple.com> wrote: > For vectors with no inline capacity, we can store the capacity inside the > Vector’s buffer. That way, the Vector itself will be one size_t smaller when > empty. In fact, with a bit of performance risk, we can do the same thing with > the vector’s size, making an empty Vector just a single pointer. But doing > this also means that the allocated buffer won’t have the vector elements at > the start of the memory block. The only thing I could find that this would > interfere with would be the String::adopt(Vector) function. My question is > whether with the latest wonderful StringBuilder technology we could eliminate > String::adopt(Vector). Can we get rid of that entirely from WebKit? > > -- Darin > _______________________________________________ > webkit-dev mailing list > webkit-dev@lists.webkit.org > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev