Add noinline declaration to secondary type-dispatching row-operators #21197
+10
−10
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.
Description
Adds the
noinlineattribute declaration to the row-operator specializations that require secondary calls to the type-dispatcher. This includes the nested types like list and struct which require a 2nd dispatch for the children types as well as dictionary types which require a 2nd dispatch for its key types.This improves compile time overall for those source files that require the row-operators. The most significant is for libcudf Debug builds which now seem to hang (or at least do not finish within 1.5 hours).
This change should also improve register pressure since the 2nd dispatch is no longer inlined.
Checklist