aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-11-25 14:08:28 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2016-11-28 15:31:02 +0000
commite1380c8e936124d1b92dac8e0fb39870a05eb0c7 (patch)
treeb5adc21d63a25bd6a81433323bd9f63435506f65
parent7f530b028d1bba66ec75b441813e89aacbcababe (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.cpp9
-rw-r--r--src/lib/corelib/buildgraph/buildgraphloader.h1
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;