diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-11-25 14:08:28 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2016-11-28 15:31:02 +0000 |
commit | e1380c8e936124d1b92dac8e0fb39870a05eb0c7 (patch) | |
tree | b5adc21d63a25bd6a81433323bd9f63435506f65 | |
parent | 7f530b028d1bba66ec75b441813e89aacbcababe (diff) |
Benchmark effort for expanding wildcards during change tracking
This operation is potentially performance-sensitive. Let's gather some
real-world data on it.
Change-Id: I430ce6c3bb35106b7f2bf37ab978996ba92f36ad
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | src/lib/corelib/buildgraph/buildgraphloader.cpp | 9 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/buildgraphloader.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp index 72ad5047a..d779f7b6b 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.cpp +++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp @@ -120,7 +120,14 @@ BuildGraphLoadResult BuildGraphLoader::load(const TopLevelProjectPtr &existingPr } QBS_CHECK(parameters.restoreBehavior() == SetupProjectParameters::RestoreAndTrackChanges); + if (m_parameters.logElapsedTime()) + m_wildcardExpansionEffort = 0; trackProjectChanges(); + if (m_parameters.logElapsedTime()) { + m_logger.qbsLog(LoggerInfo, true) << "\t" + << Tr::tr("Wilcard expansion took %1.") + .arg(elapsedTimeString(m_wildcardExpansionEffort)); + } return m_result; } @@ -461,6 +468,8 @@ bool BuildGraphLoader::hasProductFileChanged(const QList<ResolvedProductPtr> &re m_logger.qbsDebug() << "A product was changed, must re-resolve project"; hasChanged = true; } else if (!changedProducts.contains(product)) { + AccumulatingTimer wildcardTimer(m_parameters.logElapsedTime() + ? &m_wildcardExpansionEffort : nullptr); foreach (const GroupPtr &group, product->groups) { if (!group->wildcards) continue; diff --git a/src/lib/corelib/buildgraph/buildgraphloader.h b/src/lib/corelib/buildgraph/buildgraphloader.h index 3cb5049ef..6ec918e14 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.h +++ b/src/lib/corelib/buildgraph/buildgraphloader.h @@ -136,6 +136,7 @@ private: Logger m_logger; QProcessEnvironment m_environment; QStringList m_artifactsRemovedFromDisk; + qint64 m_wildcardExpansionEffort; // These must only be deleted at the end so we can still peek into the old look-up table. QList<FileResourceBase *> m_objectsToDelete; |