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)

Reply via email to