]> git.cworth.org Git - apitrace/commitdiff
Preallocate a few lists with the correct size.
authorZack Rusin <zack@kde.org>
Sun, 28 Aug 2011 06:23:47 +0000 (02:23 -0400)
committerZack Rusin <zack@kde.org>
Sun, 28 Aug 2011 06:23:47 +0000 (02:23 -0400)
shaves a few megs that were lost due to overallocation

gui/apitracecall.cpp

index ab358c13390a0cb293c245d1f38c720ff077596a..6a93d6d7b33526c4086fa5e1c7332832e639bc83 100644 (file)
@@ -581,9 +581,9 @@ ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, const Trace::Call *call)
 
     if (!m_signature) {
         QStringList argNames;
+        argNames.reserve(call->sig->num_args);
         for (int i = 0; i < call->sig->num_args; ++i) {
-            argNames +=
-                QString::fromStdString(call->sig->arg_names[i]);
+            argNames += QString::fromStdString(call->sig->arg_names[i]);
         }
         m_signature = new ApiTraceCallSignature(name, argNames);
         trace->addSignature(m_signature);
@@ -593,10 +593,11 @@ ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, const Trace::Call *call)
         call->ret->visit(retVisitor);
         m_returnValue = retVisitor.variant();
     }
+    m_argValues.reserve(call->args.size());
     for (int i = 0; i < call->args.size(); ++i) {
         VariantVisitor argVisitor;
         call->args[i]->visit(argVisitor);
-        m_argValues += argVisitor.variant();
+        m_argValues.append(argVisitor.variant());
         if (m_argValues[i].type() == QVariant::ByteArray) {
             m_hasBinaryData = true;
             m_binaryDataIndex = i;