You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Carl Yeksigian (JIRA)" <ji...@apache.org> on 2015/05/14 16:04:00 UTC

[jira] [Comment Edited] (CASSANDRA-8241) Use ecj [was: javac] instead of javassist

    [ https://issues.apache.org/jira/browse/CASSANDRA-8241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14542974#comment-14542974 ] 

Carl Yeksigian edited comment on CASSANDRA-8241 at 5/14/15 2:03 PM:
--------------------------------------------------------------------

The ecj changes seems reasonable.

Can you explain why you didn't do a templated code approach? The string building is really hard to follow, and since this isn't on a hot code path, the reduction in speed versus the clarity it provides seems like a good tradeoff.


was (Author: carlyeks):
The ecj changes seems reasonable, but it would be a lot easier to read the structure of the generated code if it was templated instead of in multiple different methods.

> Use ecj [was: javac] instead of javassist
> -----------------------------------------
>
>                 Key: CASSANDRA-8241
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8241
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>              Labels: udf
>             Fix For: 2.2 beta 1
>
>         Attachments: 8241-ecj-v2.txt, 8241-ecj.txt, udf-java-javac.txt
>
>
> Using JDK's built-in Java-Compiler API has some advantages over javassist.
> Although compilation feels a bit slower, Java compiler API has some advantages:
> * boxing + unboxing works
> * generics work
> * compiler error messages are better (or at least known) and have line/column numbers
> The implementation does not use any temp files. Everything's in memory.
> Patch attached to this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)