sbt/internal/util-collection/src/test/scala
Ethan Atkins 6565618a15 Cache compiled map during build load
The continuous command recompiles the setting graph into a CompiledMap
data structure so that it can determine which files it needs to
transitively monitor during watch. Generating the CompiledMap can be
very slow for large projects (5 seconds or so on my computer in the sbt
project) and this startup cost is paid every time the user enters a
watch with `~`. To avoid this, we can cache the compile map that is
generated during the initial settings evaluation.

The only real drawback I can see is that the compiled map is guaranteed
to remain in memory so long as the BuildStructure instance that holds it
is alive. Given the performance benefit, this seems like a worthwhile
tradeoff.
2020-07-03 14:08:26 -07:00
..
DagSpecification.scala Update header 2018-09-14 04:53:36 -04:00
HListFormatSpec.scala Update header 2018-09-14 04:53:36 -04:00
KeyTest.scala Update header 2018-09-14 04:53:36 -04:00
PMapTest.scala Update header 2018-09-14 04:53:36 -04:00
SettingsExample.scala Cache compiled map during build load 2020-07-03 14:08:26 -07:00
SettingsTest.scala Cache compiled map during build load 2020-07-03 14:08:26 -07:00
UnitSpec.scala Update header 2018-09-14 04:53:36 -04:00