qt5base-lts/tests/auto
Andrei Golubev 8f7016252a Implement QList::emplaceBack as a proper function
My endeavours figuring out why QList::append(elem) gives worst
performance compared to 5.15 ended up into this commit. After some
straightforward fixes, what was left is "everything is uniformly worse"
and takes more CPU cycles

Introduce emplaceBack implementation as append is quite a special case
that could be greatly simplified. This is a "straightforward" part of
the optimizations

While at it, change append(t) to use emplaceBack(t)

For workloads like:
QList<int> list;
forever {
  list.append(0);
}
this gives huge improvement (roughly 30% for 10k+ elements),
movable and complex types also get a tiny speedup

Task-number: QTBUG-87330
Change-Id: I9261084e545c24e5473234220d2a3f2cd26c2b7f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-04 11:21:59 +01:00
..
cmake Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
concurrent Improve QtConcurrent::blockingMapped tests 2020-11-04 09:40:12 +01:00
corelib Implement QList::emplaceBack as a proper function 2020-11-04 11:21:59 +01:00
dbus Adjust tst_qdbusmarshall to QVariant changes 2020-10-30 13:27:14 +01:00
gui Add QEventPoint::normalizedPosition() to replace normalizedPos() 2020-11-03 20:36:35 +01:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
installed_cmake
network tests: blacklist tst_QTcpSocket::connectToHostError() 2020-10-30 13:27:14 +01:00
opengl Remove tst_QGL 2020-08-28 11:43:11 +02:00
other QSsl: Further work around to pass network test 2020-10-26 09:30:36 +02:00
printsupport Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
shared Remove most compiler warnings about missing overrides 2020-09-11 00:20:47 +02:00
sql Cleanup remaining QVariant::Type uses in Qt Sql 2020-10-17 12:01:54 +02:00
testlib Selftest - copy XAUTHORITY environment variable 2020-10-28 14:27:37 +00:00
tools moc: Handle include in enum, take 2 2020-11-03 19:36:34 +00:00
widgets Add multi key bindings to QShortcut 2020-11-04 10:32:38 +02:00
xml CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
.prev_CMakeLists.txt CMake: Regenerate projects 2020-09-22 19:08:53 +02:00
auto.pro Don't error out when configuring Qt on a headless system 2020-09-26 14:36:13 +02:00
CMakeLists.txt CMake: Fix building with -DQT_FEATURE_gui=OFF 2020-09-15 20:05:32 +02:00
network-settings.h Revert "QAbstractSocket: deprecate 'error' member-function" 2020-02-26 23:07:52 +03:00