mirror of
https://github.com/sbt/sbt.git
synced 2026-09-04 08:45:56 +02:00
This applies a range of optimisations local to ClassStamper that bring the time needed for refinedTestDigests down to acceptable levels (see #9108): * Cache the digests of transitive dependencies (big impact) * Avoid sorting of digest subsets that would later get sorted again (small) * Pre-compute which Analysis instances are required for each class to avoid repeated scanning of the whole list (medium) * Merge two loops on relations.externalDeps into one (small) * Compute the set of extra digests outside loop (small) * Track the digest closure of each test via a BitSet (big)