summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/tools/qmap/main.cpp
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
committerJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
commitc808dd27459e030fde0577feb8ba06e3bd465526 (patch)
tree4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /tests/benchmarks/corelib/tools/qmap/main.cpp
parentd9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff)
parent300534fc214f2547a63594ce0891e9a54c8f33ca (diff)
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Diffstat (limited to 'tests/benchmarks/corelib/tools/qmap/main.cpp')
-rw-r--r--tests/benchmarks/corelib/tools/qmap/main.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/benchmarks/corelib/tools/qmap/main.cpp b/tests/benchmarks/corelib/tools/qmap/main.cpp
index 05b52ba42f..c11e54ff1d 100644
--- a/tests/benchmarks/corelib/tools/qmap/main.cpp
+++ b/tests/benchmarks/corelib/tools/qmap/main.cpp
@@ -60,6 +60,10 @@ private slots:
void lookup_string_int();
void iteration();
+ void toStdMap();
+ void iterator_begin();
+
+ void ctorStdMap();
};
@@ -159,6 +163,46 @@ void tst_QMap::iteration()
}
}
+void tst_QMap::toStdMap()
+{
+ QMap<int, int> map;
+ for (int i = 0; i < 100000; ++i)
+ map.insert(i, i);
+
+ QBENCHMARK {
+ std::map<int, int> n = map.toStdMap();
+ n.begin();
+ }
+}
+
+void tst_QMap::iterator_begin()
+{
+ QMap<int, int> map;
+ for (int i = 0; i < 100000; ++i)
+ map.insert(i, i);
+
+ QBENCHMARK {
+ for (int i = 0; i < 100000; ++i) {
+ QMap<int, int>::const_iterator it = map.constBegin();
+ QMap<int, int>::const_iterator end = map.constEnd();
+ if (it == end) // same as if (false)
+ ++it;
+ }
+ }
+}
+
+void tst_QMap::ctorStdMap()
+{
+ std::map<int, int> map;
+ for (int i = 0; i < 100000; ++i)
+ map.insert(std::pair<int, int>(i, i));
+
+ QBENCHMARK {
+ QMap<int, int> qmap(map);
+ qmap.constBegin();
+ }
+}
+
QTEST_MAIN(tst_QMap)