From 0efe70e5d544afe04245ef522fe212fcb7b1724c Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 14 Jan 2014 16:18:28 -0500 Subject: [PATCH] structureIndex timings --- main/src/main/scala/sbt/Load.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Load.scala b/main/src/main/scala/sbt/Load.scala index c29192c7c..e6a247da4 100755 --- a/main/src/main/scala/sbt/Load.scala +++ b/main/src/main/scala/sbt/Load.scala @@ -182,13 +182,19 @@ object Load def structureIndex(data: Settings[Scope], settings: Seq[Setting[_]], extra: KeyIndex => BuildUtil[_], projects: Map[URI, LoadedBuildUnit]): sbt.StructureIndex = { + Time.block("structureIndex") val keys = Index.allKeys(settings) val attributeKeys = Index.attributeKeys(data) ++ keys.map(_.key) val scopedKeys = keys ++ data.allKeys( (s,k) => ScopedKey(s,k)) val projectsMap = projects.mapValues(_.defined.keySet) + Time("initial") val keyIndex = KeyIndex(scopedKeys, projectsMap) + Time("keyIndex") val aggIndex = KeyIndex.aggregate(scopedKeys, extra(keyIndex), projectsMap) - new sbt.StructureIndex(Index.stringToKeyMap(attributeKeys), Index.taskToKeyMap(data), Index.triggers(data), keyIndex, aggIndex) + Time("aggIndex") + val si = new sbt.StructureIndex(Index.stringToKeyMap(attributeKeys), Index.taskToKeyMap(data), Index.triggers(data), keyIndex, aggIndex) + Time.complete("structureIndex") + si } // Reevaluates settings after modifying them. Does not recompile or reload any build components.