Improve function_abi_no_longer_unwind performance by reordering current, baseline #777
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.
Partially addresses #767
Comparing 0.29.1 to 0.30.0, it seems likely the largest performance issue is due to a new lint introduced in 0.30.0,
function_abi_no_longer_unwind
, which took 5 hours on my machine to check the aws ec2 crate using the command from the issue report. I ran every c-s-c release from 0.25.0 to 0.28.0 as well and did not see any other performance issues.I am not very knowledgeable about ABI's but if I understood things correctly from a cursory investigation, the default "Rust" ABI (i.e. the most common kind) is considered unwind-able. After reordering the current and baseline branches of the query to look for non-unwind-able functions first, the
function_abi_no_longer_unwind
lint runs in under a second: