diff options
| author | Emmanuel Pescosta <[email protected]> | 2014-01-15 20:27:20 +0100 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2014-01-15 20:27:20 +0100 |
| commit | 8a46dd8d8e2374fda5a27d2079ef30722ee08000 (patch) | |
| tree | 1e99573f0d8e14dd8f06240c011da80a5fb18329 /src/views/versioncontrol/versioncontrolobserver.cpp | |
| parent | 3ff6e83491e2da9678af0bc149e450ff87db5e8d (diff) | |
Use the QMap iterator instead of foreach(key, map.keys()) in UpdateItemStatesThread::run()
and in VersionControlObserver::slotThreadFinished().
So we get O(n) complexity instead of O(n*logn), and O(1) memory instead of O(n).
Thanks to Thiago Macieira for providing this information.
FIXED-IN: 4.13
REVIEW: 115018
Diffstat (limited to 'src/views/versioncontrol/versioncontrolobserver.cpp')
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 4d939ee0d..c542542ee 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -205,8 +205,9 @@ void VersionControlObserver::slotThreadFinished() } const QMap<QString, QVector<ItemState> >& itemStates = thread->itemStates(); - foreach (const QString& directory, itemStates.keys()) { - const QVector<ItemState>& items = itemStates.value(directory); + QMap<QString, QVector<ItemState> >::const_iterator it = itemStates.constBegin(); + for (; it != itemStates.constEnd(); ++it) { + const QVector<ItemState>& items = it.value(); foreach (const ItemState& item, items) { QHash<QByteArray, QVariant> values; |
