lriggs opened a new issue, #48159: URL: https://github.com/apache/arrow/issues/48159
### Describe the bug, including details regarding any error messages, version, and platform. When building the Projector class in Gandiva there is approximately 4x slowness compared to a previous implementation. Ultimately it is related to the new Orc JIT llvm engine. I modified the src/test/java/org/apache/arrow/gandiva/evaluator/MicroBenchmarkTest.java test in arrow-java to record the time spent in building the in Projector.make [GitHub - lriggs/arrow-java at arrow20_perf](https://github.com/lriggs/arrow-java/tree/arrow20_perf) You can run the test like: arrow-java/gandiva$ mvn -Dtest=MicroBenchmarkTest test These times are just for making the projector and not evaluating the rows. The change between compilers: [GH-37848: [C++][Gandiva] Migrate LLVM JIT engine from MCJIT to ORC v2… · apache/arrow@83cba25](https://github.com/apache/arrow/commit/83cba25017a5c3a03e47f1851f242fa284f93533) This test was done on the same Arrow 20 branch either with the above commit or with it reverted. I also updated llvm in between tests to reflect our necessary environment for running the Orc Jit version. **llvm 18 with old MCJIT** [INFO] Running org.apache.arrow.gandiva.evaluator.MicroBenchmarkTest Total Time taken for projecting 1m records of add3 is 28,386,796,426ms Average Time taken for projecting 1m records of add3 for 50000 iterations is 567,735ms **llvm 21 with new ORCJIT** [INFO] Running org.apache.arrow.gandiva.evaluator.MicroBenchmarkTest Total Time taken for projecting 1m records of add3 is 109,540,979,822ms Average Time taken for projecting 1m records of add3 for 50000 iterations is 2,190,819ms ### Component(s) C++ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
