diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2021-07-12 08:17:07 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-07-14 06:58:59 +0000 |
commit | 222e895a39fced0cc83ab7efa728f36e4ec2b000 (patch) | |
tree | deffc30d04f9cc7c47fa81b7559aaf4821378924 | |
parent | 1a415af379fca5d5e12c71c8166b9cf1c21d6c25 (diff) |
QDuplicateTracker: reserve() for at least Prealloc elements
We have space for so many elements, so reserve()ing anything less
makes no sense.
Change-Id: I84d692b10a6a491c37661f84aa3fdd9af43d71e5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 16db1d21659793909bd1719805d7ff8de6906f88)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/corelib/tools/qduplicatetracker_p.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h index dd0bb2605f..11a5f4cc33 100644 --- a/src/corelib/tools/qduplicatetracker_p.h +++ b/src/corelib/tools/qduplicatetracker_p.h @@ -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); |