drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chunhui Shi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DRILL-4778) revisit of using two Java compilers for code generation
Date Wed, 13 Jul 2016 01:18:20 GMT
Chunhui Shi created DRILL-4778:

             Summary: revisit of using two Java compilers for code generation
                 Key: DRILL-4778
                 URL: https://issues.apache.org/jira/browse/DRILL-4778
             Project: Apache Drill
          Issue Type: Bug
            Reporter: Chunhui Shi

Currently Drill uses two Java compilers: Janino when code size is <256K, JDK compiler if
source code size > 256K.

However, recently I notice that for large source code(~550K), while JDK compiler seems 30%
faster in compiling, the generated code is 20% larger and the execution is much slower(10
times slower in some cases):

2016-07-07 21:17:32,647 [28813914-36f3-8bf5-5d4b-7de2daba5341:frag:0:0] DEBUG o.a.d.exec.compile.JDKClassCompiler
- Compiling (source size=654.7 KiB):
2016-07-07 21:17:48,806 [28813914-36f3-8bf5-5d4b-7de2daba5341:frag:0:0] DEBUG o.a.d.exec.compile.ClassTransformer
- Done compiling (bytecode size=300.6 KiB, time:16165 millis).
2016-07-07 21:23:52,389 [2881379e-5ebf-966d-c099-f813f9f99ab4:frag:0:0] DEBUG o.a.d.e.compile.JaninoClassCompiler
- Compiling (source size=654.7 KiB):
2016-07-07 21:24:14,584 [2881379e-5ebf-966d-c099-f813f9f99ab4:frag:0:0] DEBUG o.a.d.exec.compile.ClassTransformer
- Done compiling (bytecode size=241.8 KiB, time:22222 millis).

Seems we should stick to one compiler: Janino only. And we should measure and root cause the
performance difference of these two compilers especially for large queries. 

This message was sent by Atlassian JIRA

View raw message