You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The pre-validation steps introduced here: #128
are not very optimized and can be improved.
Currently we have what could potentially be a large clone which sizable policy (which ref policy 3 will become) in a while loop that may take several iterations to resolve. I initially did this to avoid mutability & ownership issues. This can be seen in search_for_recursion
I assume there are also general improvements that can go into this function as well.
The text was updated successfully, but these errors were encountered:
I did a first pass at some optimizations here. Converting to a BTreeSet and avoiding removals inside a Vec was a huge (50%) win. Removing the clone() showed no performance improvement. My guess is that maintaining the list of things to remove cost enough that it canceled out the clone() removal. I'm going to submit a PR with the BTreeSet conversion and that speedup, but I'll leave this open for now.
The pre-validation steps introduced here: #128
are not very optimized and can be improved.
Currently we have what could potentially be a large clone which sizable policy (which ref policy 3 will become) in a while loop that may take several iterations to resolve. I initially did this to avoid mutability & ownership issues. This can be seen in
search_for_recursion
I assume there are also general improvements that can go into this function as well.
The text was updated successfully, but these errors were encountered: