Skip to content

Conversation

@davidwendt
Copy link
Contributor

Description

Adds the noinline attribute 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

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@davidwendt davidwendt self-assigned this Jan 27, 2026
@davidwendt davidwendt requested a review from a team as a code owner January 27, 2026 16:34
@davidwendt davidwendt requested review from vuule and wence- January 27, 2026 16:34
@davidwendt davidwendt added bug Something isn't working 3 - Ready for Review Ready for review by team libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change labels Jan 27, 2026
@vuule
Copy link
Contributor

vuule commented Jan 27, 2026

Do we need to check the impact on performance?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Ready for Review Ready for review by team bug Something isn't working libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants