diff options
author | Jędrzej Nowacki <jedrzej.nowacki@digia.com> | 2013-04-10 11:52:31 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-13 17:44:11 +0200 |
commit | d121b37a4a4ed5530ba3d9377ab9423040cdf42b (patch) | |
tree | c784333e9244ed2c3642d6c0180c4f8e83f34cd4 | |
parent | 7628e6ed1aa5c2c75db24527fe1945709ea4f28b (diff) |
Micro-optimization of list string list construction in qmetaobject.
We know the size of constructed list, so it may be worth to reserve
memory space for it.
Change-Id: Idad061bc1dbf5acecaec48d2e00ca3504b9db8b8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 00d20d9300..7211a730ec 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -1671,8 +1671,9 @@ void QMetaMethodPrivate::getParameterTypes(int *types) const QList<QByteArray> QMetaMethodPrivate::parameterTypes() const { Q_ASSERT(priv(mobj->d.data)->revision >= 7); - QList<QByteArray> list; int argc = parameterCount(); + QList<QByteArray> list; + list.reserve(argc); int paramsIndex = parametersDataIndex(); for (int i = 0; i < argc; ++i) list += typeNameFromTypeInfo(mobj, mobj->d.data[paramsIndex + i]); @@ -1682,8 +1683,9 @@ QList<QByteArray> QMetaMethodPrivate::parameterTypes() const QList<QByteArray> QMetaMethodPrivate::parameterNames() const { Q_ASSERT(priv(mobj->d.data)->revision >= 7); - QList<QByteArray> list; int argc = parameterCount(); + QList<QByteArray> list; + list.reserve(argc); int namesIndex = parametersDataIndex() + argc; for (int i = 0; i < argc; ++i) list += stringData(mobj, mobj->d.data[namesIndex + i]); |