QDuplicateTracker: reserve() for at least Prealloc elements

We have space for so many elements, so reserve()ing anything less
makes no sense.

Pick-to: 6.2 6.1 5.15
Change-Id: I84d692b10a6a491c37661f84aa3fdd9af43d71e5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
bb10
Marc Mutz 2021-07-12 08:17:07 +02:00
parent 564f07086c
commit 16db1d2165
1 changed files with 3 additions and 2 deletions

View File

@ -81,9 +81,10 @@ class QDuplicateTracker {
char buffer[bufferSize(Prealloc)];
std::pmr::monotonic_buffer_resource res{buffer, sizeof buffer};
std::pmr::unordered_set<T, QHasher<T>> set{&res};
std::pmr::unordered_set<T, QHasher<T>> set{Prealloc, &res};
#else
QSet<T> set;
static QSet<T> makeQSet() { QSet<T> r; r.reserve(Prealloc); return r; }
QSet<T> set = makeQSet();
int setSize = 0;
#endif
Q_DISABLE_COPY_MOVE(QDuplicateTracker);