qt5base-lts/tests/auto/corelib/tools/qarraydata
Andrei Golubev 7eed57511a QArrayDataPointer: redesign (and simplify) growth policy
It looks like we can drastically simplify the way QADP grows without
sacrificing much:
1. append-only use cases should have the same performance as before
2. prepend-only use cases should (with the help of other commits) get
   additional performance speedup
3. mid-insertion is harder to reason about, but it is either unchanged
   or benefits a bit as there's some free space at both ends now
4. mixed prepend/append cases are weird and would keep excess free
   space around but this is less critical and overall less used AFAIK

Now, QList would actually start to feel like a double-ended container
instead of "it's QVector but with faster prepend". This commit should
help close the performance gap between 6.0 and 5.15 as well

As a drawback, we will most likely have more space allocated in mixed
and mid-insert cases. This needs to be checked

Task-number: QTBUG-86583
Change-Id: I7c6ede896144920fe01862b9fe789c8fdfc11f80
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-04 11:21:12 +01:00
..
CMakeLists.txt CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qarraydata.pro Separate exception safety primitives from operations 2020-08-18 12:55:38 +02:00
simplevector.h Add prepend optimization to QCommonArrayOps 2020-08-27 18:58:20 +02:00
tst_qarraydata.cpp QArrayDataPointer: redesign (and simplify) growth policy 2020-11-04 11:21:12 +01:00