-
Notifications
You must be signed in to change notification settings - Fork 607
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
drt: nodes structure refactoring and elimination of getFlatIdx #5903
drt: nodes structure refactoring and elimination of getFlatIdx #5903
Conversation
Signed-off-by: bernardo <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is cleaner to go with one of those 2 choices:
- use vector of unique pointers and reference the objects by their pointers.
- the current vector of object but reference by index or object reference.
Signed-off-by: bernardo <[email protected]>
Signed-off-by: bernardo <[email protected]>
49bcd04
to
6cd5ef0
Compare
clang-tidy review says "All clean, LGTM! 👍" |
@osamahammad21 I'm running a ISPD and Secure Ci on this new version, but I strongly suspect they will pass, so this is ready for review |
Signed-off-by: bernardo <[email protected]>
6cd5ef0
to
3f22116
Compare
clang-tidy review says "All clean, LGTM! 👍" |
Nodes structure change
The
nodes
vector has been refactored to be a vector of vectors index by the old "nested id". This allowed for the elimination of thegetFlatIdx()
function, as now the indexing for nodes is always done through both idx.I benchmarked this changed and it seems to either not impact performance and improve memory consumption in some cases.
This change impacts various parts of the code as the structure is present in most of the functions that work with Access Patterns.
getEdgeCost refactoring
This PR also contains some minor refactoring on getEdgeCost (both implementations).
The refactoring that does not have to do with the nodes restructuring are: