forked from qt-creator/qt-creator
Debugger: Work on WatchModel performance
Don't instantiate repeating boilerplate item data in some cases (such as large arrays). This makes it necessary to access parent WatchItems in a lot more cases than before and needs another separation of WatchItem/WatchModel code to keep the dumper autotests in a functional state. For a plain std::vector<int> with 1 mio items this reduces extraction time from more than 2 minutes to about 3 seconds. Change-Id: I175c5f6ee90434a6e85342d8bb71bd10a04dd271 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -52,7 +52,7 @@ namespace Internal {
|
||||
|
||||
class DebuggerEngine;
|
||||
class QmlEngine;
|
||||
class WatchData;
|
||||
class WatchItem;
|
||||
|
||||
//map <filename, editorRevision> -> <lineNumber, columnNumber> -> debugId
|
||||
typedef
|
||||
@@ -67,8 +67,8 @@ public:
|
||||
void fetchObject(int debugId);
|
||||
quint32 queryExpressionResult(int debugId, const QString &expression);
|
||||
|
||||
void assignValue(const WatchData *data, const QString &expression, const QVariant &valueV);
|
||||
void updateWatchData(const WatchData &data);
|
||||
void assignValue(const WatchItem *data, const QString &expression, const QVariant &valueV);
|
||||
void updateWatchData(const WatchItem &data);
|
||||
void watchDataSelected(qint64 id);
|
||||
bool selectObjectInTree(int debugId);
|
||||
void addObjectWatch(int objectDebugId);
|
||||
|
||||
Reference in New Issue
Block a user