C++: Further performance improvement for the null termination queries #7018
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.
Follow-up to #6915.
The goal here was to eliminate the mutual recursion between
mayAddNullTerminator
andmayAddNullTerminatorHelper
, which was still causing unnecessarily slow performance on a few projects. I'm not sure if I've found the best solution to this - in particularmayAddNullTerminatorHelper
looks quite large to me, though I haven't seen it blow up in practice. Happy to take further suggestions.The change has a small positive effect on performance locally. I ran DCA on this (actually a variant with the two queries enabled) and only saw a 29s overall improvement there, which is likely not statistically significant.
@MathiasVP