qt5base-lts/tests/auto/corelib/kernel
Simon Hausmann 105d10dea9 Fix quadratic behavior in QMetaObjectBuilder when writing string table
QHash::key() is O(n) and we're calling it n times. That can make repeated
calls to the meta object builder very slow, as for example QQmlPropertyMap
when inserting properties repeatedly.

Fortunately this is easy to fix, as the value in the hash map is also the
index, so we can simply iterate over the hash once. With the exception of
the class name, which we have to treat specially to ensure that it is always
the first entry in the string table.

Task-number: QTBUG-32720
Change-Id: Ic954c45c454107feee83216131f601cc69d4c63b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-06 18:18:44 +01:00
..
qcoreapplication Base tst_QGuiApplication on tst_QCoreApplication to increase GUI ED coverage 2013-10-01 18:00:17 +02:00
qeventdispatcher Don't send posted events from QWindowSystemInterface::sendWindowSystemEvents 2013-09-16 15:22:40 +02:00
qeventloop Merge remote-tracking branch 'origin/stable' into dev 2013-08-14 09:06:31 +02:00
qmath Fix qmath autotest for arm 2013-03-14 19:49:38 +01:00
qmetamethod QMetaMethod and QDBusMetaObject: Give public access to signal methods 2013-09-09 16:21:10 +02:00
qmetaobject Test that QMetaObject::invokeMethod is exception safe 2013-11-05 17:37:05 +01:00
qmetaobjectbuilder Fix quadratic behavior in QMetaObjectBuilder when writing string table 2013-12-06 18:18:44 +01:00
qmetaproperty Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qmetatype Core: QDebug and comparison operator support metatypes. 2013-05-27 19:58:19 +02:00
qmimedata tests: Fix some more old references and links to Nokia 2013-02-01 15:27:37 +01:00
qobject Fix invalid memory read when shutting down QML applications 2013-11-29 09:54:47 +01:00
qpointer don't erroneously claim that gui support is needed 2013-10-16 17:10:15 +02:00
qsharedmemory Skip unstable autotest 2013-03-12 18:13:37 +01:00
qsignalmapper don't erroneously claim that gui support is needed 2013-10-16 17:10:15 +02:00
qsocketnotifier Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qsystemsemaphore Add QSystemSemaphore::release() auto-tests 2013-11-28 20:33:56 +01:00
qtimer Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qtranslator tst_qtranslator: Remove QT_DISABLE_DEPRECATED_BEFORE=0 2013-04-12 07:20:05 +02:00
qvariant QVariant: Convert automatically from enum types to integral types. 2013-11-08 16:45:26 +01:00
qwineventnotifier remove qt_windows.h include from qwineventnotifier.h 2013-10-29 19:59:17 +01:00
kernel.pro exclude gui-needing tests from -no-gui build 2013-10-18 20:05:27 +02:00