diff options
author | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 14:41:27 +0100 |
---|---|---|
committer | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 14:41:27 +0100 |
commit | c808dd27459e030fde0577feb8ba06e3bd465526 (patch) | |
tree | 4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /tests/benchmarks/corelib/tools/qmap/main.cpp | |
parent | d9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff) | |
parent | 300534fc214f2547a63594ce0891e9a54c8f33ca (diff) |
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
Diffstat (limited to 'tests/benchmarks/corelib/tools/qmap/main.cpp')
-rw-r--r-- | tests/benchmarks/corelib/tools/qmap/main.cpp | 44 |
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) |