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

Chunhui Shi commented on DRILL-5094:
------------------------------------

Subtraction is 1 cycle, invokeStatic is 74 cycles and more. Please refer 
http://www.jopdesign.com/doc/timing.pdf, 
And JIT optimization happens only after being called thousands time to warm up. 
And this code is in planning stage. That means AssignmentCreator should be 
called once for one query. Consider the gain of moving '>', '<' to front, My 
rough idea was this seemed better. What do you think? 



> Assure Comparator to be transitive
> ----------------------------------
>
>                 Key: DRILL-5094
>                 URL: https://issues.apache.org/jira/browse/DRILL-5094
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Chunhui Shi
>            Assignee: Chunhui Shi
>            Priority: Critical
>              Labels: ready-to-commit
>
> In AssignmentCreator.java, one Comparator could break transitive attribute 
> required for a Comparator implementation and the result is not correct.
> E.g. for:
> long IntPlusOne = 0x80000000L;
> [0]=2 * IntPlusOne + 5, [1] = 2* IntPlusOne + 8, [2] = 4 * IntPlusOne + 4,
> the compare results will be like:
> compare([0],[1]) = -3,
> compare([1],[2]) = 4,
> compare([0],[2]) = 1 



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

Reply via email to