SettingsCache: Improve performance
authorLuís Pereira <luis.artur.pereira@gmail.com>
Fri, 22 Apr 2016 11:45:14 +0000 (12:45 +0100)
committerLuís Pereira <luis.artur.pereira@gmail.com>
Fri, 22 Apr 2016 17:20:22 +0000 (18:20 +0100)
Drop the foreach iterator. key could be make an const QString& and the
penalty would be lower. But this is a special case. It will help the panel
to load faster.

lxqtsettings.cpp

index 1822653..1a43cbc 100644 (file)
@@ -631,10 +631,12 @@ SettingsCache::SettingsCache(QSettings *settings) :
  ************************************************/
 void SettingsCache::loadFromSettings()
 {
-   foreach (QString key, mSettings.allKeys())
-   {
-       mCache.insert(key, mSettings.value(key));
-   }
+    const QStringList keys = mSettings.allKeys();
+
+    const int N = keys.size();
+    for (int i = 0; i < N; ++i) {
+        mCache.insert(keys.at(i), mSettings.value(keys.at(i)));
+    }
 }