rapidsai / cudf

cuDF - GPU DataFrame Library
https://docs.rapids.ai/api/cudf/stable/
Apache License 2.0
8.45k stars 903 forks source link

[FEA] Refactor `experimental/row_operators.cuh` and make it default #12593

Open GregoryKimball opened 1 year ago

GregoryKimball commented 1 year ago

Is your feature request related to a problem? Please describe. libcudf contains two sets of row operators: legacy row operators for simple types and experimental row operators for complex types. When we have completed "Part 1" of #11844, then we can safely refactor the experimental row operators to be the default, and drop the table::experimental namespace

Describe the solution you'd like Ultimately we will deprecate the legacy row operators and move the experimental row operators out of the experimental namespace. Please note that the new equality and lexicographic comparators will include "fast paths" for simple types (see #11330 and #11129), so the legacy row operators will continue to play a role.

Merge plan for completing the deprecation

Describe alternatives you've considered n/a

Additional context See #10186 and follow-on issue #11844 for more information about the nested type comparator project.

vyasr commented 1 year ago

To be clear, I would expect the "fast paths" that you describe to largely be implemented as template specializations of the new comparators rather than leaving the old comparators in place. Much of the code should be reusable and that's the path we've been able to follow in other places e.g. #11129.