myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jakob Korherr (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-3130) [PERF] Avoid unnecessary AbstractList$Itr instances
Date Sat, 14 May 2011 10:29:47 GMT

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

Jakob Korherr commented on MYFACES-3130:
----------------------------------------

+1 for that Jan-Kees.

But I would check for (instanceof RandomAccess) rather than ArrayList (see [1]).

[1] http://download.oracle.com/javase/1,5.0/docs/api/java/util/RandomAccess.html

> [PERF] Avoid unnecessary AbstractList$Itr instances
> ---------------------------------------------------
>
>                 Key: MYFACES-3130
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3130
>             Project: MyFaces Core
>          Issue Type: Improvement
>          Components: JSR-314
>         Environment: myfaces core trunk
>            Reporter: Martin Kočí
>         Attachments: MYFACES-3130-example.patch
>
>
> Similar issue: MYFACES-3129
> loop from java 5:
> for (Object object: objects)
> creates new instance of AbstractList$Itr, if objects are instance of ArrayList. 
> Similar situation is with explicit .iterator() call.
> In my testcases, it is about ~ 100 000 instances per request/response. Creation itself
is cheap, but triggers GC lately.
> I suggest to use old index-style for (i = 0; i < childCount;   i++) if possible. Are
there any rawbacks of index-based iteration? 
> Children is List and as implementation detail we  know that it is instance of ArrayList.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message