Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix PatchTree performance issues #755

Merged
merged 4 commits into from
Aug 1, 2023

Conversation

boatbomber
Copy link
Member

When building the tree, I've implemented a few improvements:

  • We no longer traverse the full ancestry for every leaf node- we exit early when we find a node that already exists
  • We no longer search the entire tree to see if a node id exists before creating one with that id, we just check if is in the map

@boatbomber boatbomber added type: bug Something happens that shouldn't happen scope: plugin Relevant to the Roblox Studio plugin impact: high Major blocker for Rojo users, or stops people from adopting Rojo. size: small status: needs review This work is mostly done, but just needs work to integrate and merge it. labels Aug 1, 2023
@boatbomber boatbomber requested a review from Dekkonot August 1, 2023 04:52
Copy link
Member

@Dekkonot Dekkonot left a comment

Choose a reason for hiding this comment

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

This is a substantial performance improvement! Great!

@Dekkonot Dekkonot merged commit 34024d8 into rojo-rbx:master Aug 1, 2023
@boatbomber boatbomber deleted the fix-patchtree-build-perf branch August 1, 2023 05:33
Dekkonot pushed a commit to UpliftGames/rojo that referenced this pull request Jan 11, 2024
When building the tree, I've implemented a few improvements:

- We no longer traverse the full ancestry for every leaf node- we exit
early when we find a node that already exists
- We no longer search the entire tree to see if a node id exists before
creating one with that id, we just check if is in the map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact: high Major blocker for Rojo users, or stops people from adopting Rojo. scope: plugin Relevant to the Roblox Studio plugin size: small status: needs review This work is mostly done, but just needs work to integrate and merge it. type: bug Something happens that shouldn't happen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants