Skip to content

[2.x] Remove instances of Info and BasicAttributeMap - #7882

Merged
adpi2 merged 5 commits into
sbt:developfrom
adpi2:2.x-fuse-info
Nov 14, 2024
Merged

adpi2 merged 5 commits into
sbt:developfrom
adpi2:2.x-fuse-info

Conversation

@adpi2

@adpi2 adpi2 commented Nov 13, 2024

Copy link
Copy Markdown
Member

Task, Info and BasicAttributeMap corresponds to 11% of all the living instances in the heap after loading.

The main idea of this PR is to remove the instances of Info, by merging Info in Task, and the instances of BasicAttributeMap by making it an opaque type. Additionally I explicited that Task uses reference equality (its not a case class anymore) and I removed Structure.taskKey which is not used anywhere, neither internally nor in any sbt 1.x plugin.

Result:

Instances Used heap size Elapsed real time
develop (as of yesterday) 16,364 K 410 MB 35,668 ms
This PR 15,012 K 380 MB 33,892 ms
91.7 % 92.7 % 95.0 %

@adpi2
adpi2 requested a review from eed3si9n November 13, 2024 11:01

@eed3si9n eed3si9n left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@adpi2
adpi2 merged commit 87e6f66 into sbt:develop Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants