[ 
https://issues.apache.org/jira/browse/CALCITE-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated CALCITE-1093:
--------------------------------
    Description: 
Through profiling the Avatica server, I noticed that we were spending some time 
resizing an ArrayList while converting {{MetaResultSet}}'s to 
{{ResultSetResponse}}'s. This was because we did not specify the capacity of 
the {{ArrayList<ResultSetResponse>}} during construction despite knowing what 
the capacity needed to be.

We can avoid some costly array copies if we specify the capacity in the 
constructor.

  was:
Through profiling the Avatica server, I noticed that we were spending some time 
resizing an ArrayList while converting {{MetaResultSet}}s to 
{{ResultSetResponse}}s. This was because we did not specify the capacity of the 
{{ArrayList<ResultSetResponse>}} during construction despite knowing what the 
capacity needed to be.

We can avoid some costly array copies if we specify the capacity in the 
constructor.


> Specify list size during construction in LocalService.apply(ExecuteRequest)
> ---------------------------------------------------------------------------
>
>                 Key: CALCITE-1093
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1093
>             Project: Calcite
>          Issue Type: Sub-task
>          Components: avatica
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: next
>
>
> Through profiling the Avatica server, I noticed that we were spending some 
> time resizing an ArrayList while converting {{MetaResultSet}}'s to 
> {{ResultSetResponse}}'s. This was because we did not specify the capacity of 
> the {{ArrayList<ResultSetResponse>}} during construction despite knowing what 
> the capacity needed to be.
> We can avoid some costly array copies if we specify the capacity in the 
> constructor.



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

Reply via email to