From 843f79ffd91a5c01424f884fa262a7d35849dcee Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Wed, 25 May 2016 01:49:23 -0400 Subject: [PATCH] Improve structureIndex call by using Vector This call takes around 8035ms for 100 subprojects. I don't think using Vector here had any noticeable effect. --- main/src/main/scala/sbt/internal/Load.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/Load.scala b/main/src/main/scala/sbt/internal/Load.scala index 174352e19..8245ccb00 100755 --- a/main/src/main/scala/sbt/internal/Load.scala +++ b/main/src/main/scala/sbt/internal/Load.scala @@ -220,10 +220,10 @@ private[sbt] object Load { { val keys = Index.allKeys(settings) val attributeKeys = Index.attributeKeys(data) ++ keys.map(_.key) - val scopedKeys = keys ++ data.allKeys((s, k) => ScopedKey(s, k)) + val scopedKeys = keys ++ data.allKeys((s, k) => ScopedKey(s, k)).toVector val projectsMap = projects.mapValues(_.defined.keySet) - val keyIndex = KeyIndex(scopedKeys, projectsMap) - val aggIndex = KeyIndex.aggregate(scopedKeys, extra(keyIndex), projectsMap) + val keyIndex = KeyIndex(scopedKeys.toVector, projectsMap) + val aggIndex = KeyIndex.aggregate(scopedKeys.toVector, extra(keyIndex), projectsMap) new StructureIndex(Index.stringToKeyMap(attributeKeys), Index.taskToKeyMap(data), Index.triggers(data), keyIndex, aggIndex) }