summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2013-04-10 11:52:31 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-13 17:44:11 +0200
commitd121b37a4a4ed5530ba3d9377ab9423040cdf42b (patch)
treec784333e9244ed2c3642d6c0180c4f8e83f34cd4
parent7628e6ed1aa5c2c75db24527fe1945709ea4f28b (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.cpp6
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]);