Commits


Siddharth Dave authored and Wes McKinney committed ed1d60d0e45
ARROW-3544: [Gandiva] [C++] Create function registry in multiple compilation units to reduce build times Refactored function_registry into separate files. The function signatures are now split across 3 different files viz. function_registry.cc, function_registry_binaryfn.cc & function_registry_unaryfn.cc. This approach reduces the build times on my setup with little refactoring. I looked into tensorflow as well, as Wes had suggested, however tensorflow heavily utilizes tempalate based approach, which is quite different from this & may require quite a bit of refactoring in gandiva. Author: Siddharth Dave <siddharth.dave@dremio.com> Closes #3051 from siddharthdave/master and squashes the following commits: 1d75ac7f6 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 removed individual clasess for each registry. removed unused header files. cleaned up code. ab93602f3 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 fixed lint errors with make format 8161eddb5 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 added a note in function_registry_common.h that its for internal use. 60954a038 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 > Replaced STRINGIFY with ARROW_STRINGIFY 241b6340c <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 > Yet another refactor of macros > removed redundant comments faeffeef4 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 1. incorporated review comments suggested by ravindra 2. refactored code a bit & removed unused includes etc. 508b7835e <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 Fixed make check-format errors. b8176dd40 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 Incorported review comments: 1. removed duplicate code/macros & moved it into a new header file function_registry_common.h 2. added separate classes for holding different function types 3. during initialization, the map is populated by individualy populating from these classes into 1 common map. 1788fb32e <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 Fixing whitespace issue reported during 'make lint' 2cdb6df58 <Siddharth Dave> ARROW-3544: Extremely long compile time for function_registry.cc in release mode on clang 6 Refactored function_registry into separate files. The function signatures are now split across 3 different files viz. function_registry.cc, function_registry_binaryfn.cc & function_registry_unaryfn.cc. This approach reduces the build times on my setup with little refactoring.