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

neoremind updated CALCITE-3878:
-------------------------------
    Description: 
I find many places in Calcite where _new ArrayList<>()_ is used, if the list is 
expected to be immutable or not resizing, it is always a good manner to create 
with initial capacity, better for memory usage and performance.

I search all occurrences, focus on the core module, to make it safe, I only 
update local variables with fixed size and not working in recursive method. If 
the local variable reference goes out of scope, if resizing is needed, things 
will work normally as well, so no side effect, but for the "escaping" case, I 
am very conservative and do not change them.

 

 

 

  was:
I find many places in Calcite where _new ArrayList<>()_ is used, if the list is 
expected to be immutable or not resizing, it is always a good manner to create 
with initial capacity, better for memory usage and performance.

I search all occurrences, to make it safe, I only update local variables with 
fixed size and not working in recursive method. If the local variable reference 
goes out of scope, if resizing is needed, things will work normally as well, so 
no side effect, but for the "escaping" case, I am very conservative and do not 
change them.

 

 

 


> Make ArrayList creation with initial capacity when size is fixed
> ----------------------------------------------------------------
>
>                 Key: CALCITE-3878
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3878
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.22.0
>            Reporter: neoremind
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I find many places in Calcite where _new ArrayList<>()_ is used, if the list 
> is expected to be immutable or not resizing, it is always a good manner to 
> create with initial capacity, better for memory usage and performance.
> I search all occurrences, focus on the core module, to make it safe, I only 
> update local variables with fixed size and not working in recursive method. 
> If the local variable reference goes out of scope, if resizing is needed, 
> things will work normally as well, so no side effect, but for the "escaping" 
> case, I am very conservative and do not change them.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to