This avoids a few unnecessary conversion from StringRef to std::string, and a
bunch of extra allocation thanks to the SmallString.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Do we have some information on how long these attributes typically are? libc++'s std::string has an inline capacity of 22, which is why I've been reluctant to change this so far.
Comment Actions
Here is what I know fore sure:
When parsing the SQLite amalgametion and counting the number of instructions, which is a fairly stable metric:
perf stat ./bin/clang -w -c sqlite3.c -o/dev/null
I get 6,005,593,103 instructions *before* that patch and 5,974,383,558 instructions *after* the patch.