Alexander created ARROW-13971: --------------------------------- Summary: [C++][Compute] Improve top_k/bottom_k Selecters via CRTP Key: ARROW-13971 URL: https://issues.apache.org/jira/browse/ARROW-13971 Project: Apache Arrow Issue Type: Improvement Components: C++ Reporter: Alexander
As it was mentioned here: [https://github.com/apache/arrow/pull/11019#discussion_r701349253] Selecters for SelectKUnstable all have a relatively similar core structure. It might be worth considering how some templating (e.g. via [CRTP|https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern], or via a set of helper comparator/iteration templates) could let you factor out the core algorithm and the container-specific bits. It would then be easier to also try to share generated code between types with the same physical type (e.g. as mentioned, Int64, Timestamp, and Date64 should all use the same generated code underneath). This issue related to create template specialization functions for these types was also mentioned here: https://github.com/apache/arrow/pull/11019#discussion_r700238908 -- This message was sent by Atlassian Jira (v8.3.4#803005)