QmlProfiler: get rid of hash strings

Using strings to identify equal events is terribly inefficient. By
keeping a global list of event types we can assign each event a
numerical type index and use that to compare them.

We can also avoid excessive string copying and data duplication by
referring to the global type list where event type information is
needed.

Task-number: QTCREATORBUG-11823
Change-Id: I837bd5d0f5395b0003002ef8dd278fb27679c65d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
Ulf Hermann
2014-06-13 16:34:30 +02:00
parent b0d79542b8
commit fea6580c82
20 changed files with 362 additions and 438 deletions

View File

@@ -230,9 +230,9 @@ const QVariantMap TimelineModelAggregator::getEventLocation(int modelIndex, int
return d->modelList[modelIndex]->getEventLocation(index);
}
int TimelineModelAggregator::getEventIdForHash(int modelIndex, const QString &hash) const
int TimelineModelAggregator::getEventIdForTypeIndex(int modelIndex, int typeIndex) const
{
return d->modelList[modelIndex]->getEventIdForHash(hash);
return d->modelList[modelIndex]->getEventIdForTypeIndex(typeIndex);
}
int TimelineModelAggregator::getEventIdForLocation(int modelIndex, const QString &filename,