Commits

Wes McKinney authored bd42052b0bd
ARROW-8969: [C++] Reduce binary size of kernels/scalar_compare.cc.o by reusing more kernels between types, operators With clang-8 on Linux this unit is now 654KB down from 1257KB. A few strategies: * Use same binary code for Less/Greater and LessEqual/GreaterEqual with arguments flipped * Reuse kernels for primitive types represented as integers * Reuse kernels for binary/string and largebinary/largestring On the latter matter, I had to rewrite some of the codegen_internal.h routines where they assumed they would receive the specific logical type as the compile-time parameter (possibly causing a conflict when trying to put a BinaryArray box around a StringArray's ArrayData). This makes kernel execution against string data faster in the places where `ArrayIterator` is used. Will run benchmarks As an aside, in general these kernel code generators will likely have lower and lower level code over time. Closes #7461 from wesm/ARROW-8969 Lead-authored-by: Wes McKinney <wesm@apache.org> Co-authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Wes McKinney <wesm@apache.org>