Hey all,

What does everyone think about Weijie’s suggestion? We’ve been turning the 
“plain Java” option on in an ad-hoc fashion for debugging now for about a year 
and have never seen an issue. Indeed, no issue would be expected since the 
“plain Java” technique just generates and compiles Java code; while the 
byte-code fixup method requires that we know how to muck about to rewrite byte 

Maybe, for 1.12, let’s turn it on early (that is, now) and run our many tests 
during the 1.12 cycle. That will give us plenty of time to catch any issues. 
And, it means that the generated Java code becomes readily accessible for 
debugging, rather than using the opaque methods that the team has long used.

If we agree, I can go ahead and switch the default to use the “plain Java” 
method rather than the byte-code manipulation method.


- Paul

> On Aug 11, 2017, at 6:40 PM, weijie tong <tongweijie...@gmail.com> wrote:
> @paul why not set the default code generation be plain java? The current
> default ASM merge method will have some unpredictable scalar replacement
> errors which we ever suffered before. This will give users trustless feal.
> What the merging does will also be done by the JIT if  we choose the plain
> java to extend the template.
> On Fri, 11 Aug 2017 at 5:52 PM weijie tong <tongweijie...@gmail.com> wrote:
>> @chunhui  we just adjust different compiler options ,the generating code
>> strategy does not affected by the compiler option.  so I think the
>> different result just reflects the compiler's performance.
>> On Wed, Aug 2, 2017 at 1:45 AM, Chunhui Shi <c...@mapr.com> wrote:
>>> Correct my previous response:
>>> In DRILL-4778, JDK was faster in compilation but generated slower code.
>>> Janino was slower in compilation and generate faster code. Your JIRA did
>>> not mention how was the performance when running generated code. You may
>>> want to test this aspect as well.
>>> From: weijie tong <tongweijie...@gmail.com>
>>> Sent: Sunday, July 30, 2017 6:10:12 AM
>>> To: dev@drill.apache.org
>>> Subject: Which code compiler is better
>>> The compile process is long when we have 20 sum or avg expression and the
>>> compiler is janino. But if we change the compiler to jdk,we gain lower
>>> compile process time. It seems jdk compiler is better .If that's tue,why
>>> not let jdk be the default one?

Reply via email to