qt5base-lts/tests/benchmarks/corelib/tools
Lars Knoll 5cb0368516 Rewrite QMap to use a RB tree
QMap used to use a skiplist in Qt 4.x, which has variable
sized nodes and we can thus not optimise using custom
allocators.

The rewrite now uses a red-black tree, and all allocations
and tree operations happen in the cpp file. This will allow
us to introduce custom allocation schemes in later versions
of Qt.

Added some more tests and a benchmark. Memory consumption
of the new QMap implementation is pretty much the same as before.
Performance of insertion and lookup has increased by 10-30%. iteration
is slower, but still extremely fast and should not matter compared
to the work usually done when iterating.

Change-Id: I8796c0e4b207d01111e2ead7ae55afb464dd88f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 09:31:09 +01:00
..
containers-associative Make some tests and benchmarks pass with QT_NO_QSTRINGBUILDER 2012-03-01 11:02:28 +01:00
containers-sequential Make some tests and benchmarks pass with QT_NO_QSTRINGBUILDER 2012-03-01 11:02:28 +01:00
qalgorithms Fixed benchmarks to work from install directory 2012-03-19 01:18:20 +01:00
qbytearray clean up qmake-generated projects 2012-02-24 05:18:30 +01:00
qchar Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qcontiguouscache Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qhash Remove qhash_faster. 2012-02-29 22:39:00 +01:00
qlist Fixed benchmarks to work from install directory 2012-03-19 01:18:20 +01:00
qmap Rewrite QMap to use a RB tree 2012-03-23 09:31:09 +01:00
qrect clean up qmake-generated projects 2012-02-24 05:18:30 +01:00
qregexp clean up qmake-generated projects 2012-02-24 05:18:30 +01:00
qstring Fixed benchmarks to work from install directory 2012-03-19 01:18:20 +01:00
qstringbuilder Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qstringlist Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qvector Merge master into api_changes 2012-03-19 10:03:48 +01:00
tools.pro Rewrite QMap to use a RB tree 2012-03-23 09:31:09 +01:00