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

ASF GitHub Bot commented on DRILL-5457:
---------------------------------------

Github user Ben-Zvi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/822#discussion_r122320539
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggTemplate.java
 ---
    @@ -130,6 +127,7 @@
       private int currentIndex = 0;
       private IterOutcome outcome;
       private int numGroupedRecords = 0;
    +  private int currentBatchRecordCount = 0; // Performance: Avoid repeated 
calls to getRecordCount()
    --- End diff --
    
    The getRecordCount() virtual method is called **per each record** ! And in 
some cases this method performs several checks. Unfortunately other 
inefficiencies indeed dwarf this savings. A local variable won't work, as 
execution may return and come back (e.g. spill) midway processing the incoming 
batch.  


> Support Spill to Disk for the Hash Aggregate Operator
> -----------------------------------------------------
>
>                 Key: DRILL-5457
>                 URL: https://issues.apache.org/jira/browse/DRILL-5457
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Relational Operators
>    Affects Versions: 1.10.0
>            Reporter: Boaz Ben-Zvi
>            Assignee: Boaz Ben-Zvi
>             Fix For: 1.11.0
>
>
> Support gradual spilling memory to disk as the available memory gets too 
> small to allow in memory work for the Hash Aggregate Operator.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to