diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-03 15:55:47 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-03 20:21:17 +0000 |
commit | 089ed1525e80b804a1745484995582e29d08129e (patch) | |
tree | 3be2cb9f5894cc7a45e9129e41aae791e7e45a83 /src/network/bearer/qsharednetworksession.cpp | |
parent | 37d89fd8fb2c6b41a9dc9bea2f021803e5070866 (diff) |
QtNetwork: optimize container usage
Don't perform lookup twice. Just cache iterator
or position.
Change-Id: I454fd292614dee62167ff248fc3ddec0f79435b0
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/network/bearer/qsharednetworksession.cpp')
-rw-r--r-- | src/network/bearer/qsharednetworksession.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/network/bearer/qsharednetworksession.cpp b/src/network/bearer/qsharednetworksession.cpp index e04c8cc953..fc01acb8b4 100644 --- a/src/network/bearer/qsharednetworksession.cpp +++ b/src/network/bearer/qsharednetworksession.cpp @@ -65,9 +65,10 @@ static void doDeleteLater(QObject* obj) QSharedPointer<QNetworkSession> QSharedNetworkSessionManager::getSession(const QNetworkConfiguration &config) { QSharedNetworkSessionManager *m(sharedNetworkSessionManager()); + const auto it = m->sessions.constFind(config); //if already have a session, return it - if (m->sessions.contains(config)) { - QSharedPointer<QNetworkSession> p = m->sessions.value(config).toStrongRef(); + if (it != m->sessions.cend()) { + QSharedPointer<QNetworkSession> p = it.value().toStrongRef(); if (!p.isNull()) return p; } |