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

Paul King commented on GROOVY-5936:
-----------------------------------

I removed some superfluous calls to {{toList}} from the {{unique}} methods. 
Since for {{unique}}, {{sort}} and {{toSorted}} we have to traverse the 
Iterator entirely anyway, I don't think providing additional iterator-backed 
implementations will gain us much, so I am going to close this issue now.

> java.lang.OutOfMemoryError through Iterator.collectEntries and others (part 
> 2: handle others)
> ---------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-5936
>                 URL: https://issues.apache.org/jira/browse/GROOVY-5936
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-jdk
>    Affects Versions: 2.0.4
>            Reporter: Alexander Veit
>             Fix For: 2.5.0-beta-1
>
>
> DGM.collectEntries(Iterator, ...) naively calls toList(Iterator<T> self) to 
> convert the Iterator to a list. There's no need to do this since iterator 
> suffices to collect the entries. Even worse, toList uses ArrayList what may 
> lead to multiple reallocations when the ArrayList's capacity must be enlarged.
> Error:
> Caught: java.lang.OutOfMemoryError: GC overhead limit exceeded
> The same problems may occur when calling other methods that internally 
> convert Iterator to lists.



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

Reply via email to