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

fixes, cleans, and optimizes KB AVL tree implementation #1280

Conversation

ivg
Copy link
Member

@ivg ivg commented Mar 2, 2021

First of all this PR fixes a bug in the tree insertion function that was triggered under rare but possible conditions.
When the bug is triggered it may result in the information loss or in stalling the program in the infinite loop.

Also, since I was there, I've removed some micro-optimizations that didn't affect real-world applications (but were significantly
complicating the implementation). I also optimized the merge or order functions that are heavily used and were implemented rather
naively. These optimizations gave about 10% of performance improvement.

ivg added 5 commits March 2, 2021 14:03
Those optimizations are giving results only on micro benchmarks but do
not affect real-life program in any sensible manner. Given how complex
they are it is better to remove them.
this improves utilization of leaves and reduces the average rank of
the trees.
this also results in better utilization of leaves
@ivg ivg force-pushed the fixes-and-optimizes-kb-tree-implementation branch from 11366c1 to ff795cc Compare March 2, 2021 19:12
@ivg ivg merged commit 4454b5d into BinaryAnalysisPlatform:master Mar 2, 2021
@ivg ivg deleted the fixes-and-optimizes-kb-tree-implementation branch December 1, 2021 19:14
@ivg ivg restored the fixes-and-optimizes-kb-tree-implementation branch December 1, 2021 19:14
@ivg ivg deleted the fixes-and-optimizes-kb-tree-implementation branch December 1, 2021 19:14
@ivg ivg restored the fixes-and-optimizes-kb-tree-implementation branch December 1, 2021 19:14
@ivg ivg deleted the fixes-and-optimizes-kb-tree-implementation branch March 9, 2022 17:19
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.

1 participant