6ec1dc904d
... in preparation for replacing the QString keys in the public API with QAnyStringView ones. This removes the "important optimization" that avoids a detach in the common case where the input is the same as the output of normalization. But that optimization is beside the point, because it trades a memory allocation avoided in the library for O(N) allocations inserted into user code for each call to QSettings::value(), the vast majority of which are calls with string literals. With the public interface ported to QAnyStringView in the follow-up patch, we can then internally optimize memory allocations _in a central place_ (e.g. by returning std::u16string or QVarLengthArray<QChar> from normalizeKey() instead of QString). But first we need to get rid of all the unwarranted allocations in user code. Change-Id: I45fc83d972c552a220c9c29508001d3f172e1162 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> |
||
---|---|---|
.. | ||
.gitattributes | ||
.gitignore | ||
bom.ini | ||
CMakeLists.txt | ||
float.ini | ||
qt5settings.ini | ||
resourcefile2.ini | ||
resourcefile3.ini | ||
resourcefile4.ini | ||
resourcefile5.ini | ||
resourcefile6.plist | ||
resourcefile.ini | ||
tst_qsettings.cpp | ||
utf8settings.ini | ||
withcomments.ini |