perf(unionfind): optimize UnifyTermsExtend map duplication#91
Closed
apocalypse9949 wants to merge 3 commits intogoogle:mainfrom
Closed
perf(unionfind): optimize UnifyTermsExtend map duplication#91apocalypse9949 wants to merge 3 commits intogoogle:mainfrom
apocalypse9949 wants to merge 3 commits intogoogle:mainfrom
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
b1b9e9a to
4ec4277
Compare
burakemir
added a commit
that referenced
this pull request
Mar 15, 2026
Pre-allocates map capacity when copying the union-find structure, avoiding unnecessary rehashing during term unification. Based on github.com//pull/91 Co-Authored-By: apocalypse9949 <dchittibabu641@gmail.com>
Collaborator
|
Added in 69dc00f - thanks for your contribution! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added a
Copy()method toUnionFindthat pre-allocates the map capacity using the length of the parent map (len(uf.parent)). This prevents unnecessary memory reallocations and rehashing when duplicating the union-find structure.UnifyTermsExtendwas refactored to use thisCopy()method instead of creating an empty map and copying elements manually, resulting in a significant performance improvement for repetitive inference loops.Before this change, copying
unionfindbase would iteratively populate an empty map:After the change, memory pre-allocation avoids multiple resize pauses: