[ https://issues.apache.org/jira/browse/IGNITE-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075101#comment-15075101 ]
Vladimir Ozerov commented on IGNITE-2263: ----------------------------------------- I almost fully reworked GridFunc. Removed lots of unused methods, fixed dozens of vararg problems. After that it is evident that we have 3 problematic "view" methods accepting predicate: 1) view(@Nullable final Collection<T> c, final IgnitePredicate<? super T> p) - 64 usages 2) view(@Nullable final Map<K, V> m, final IgnitePredicate<? super K> p) - 2 usages 3) viewReadOnly(@Nullable final Collection<? extends T1> c, final IgniteClosure<? super T1, T2> trans, @Nullable final IgnitePredicate<? super T1> p) - 17 usages The main problem here is that isEmpty(), size() and contains() always require full iteration over collection. We need to carefully review all these usages. The rest 3 "view" methods just create wrapper collection with attached transformer. I do not think they could hurt us anyhow - these are just convenient shortcuts. > Get rid of wrapping views where possible. > ----------------------------------------- > > Key: IGNITE-2263 > URL: https://issues.apache.org/jira/browse/IGNITE-2263 > Project: Ignite > Issue Type: Sub-task > Components: general > Affects Versions: ignite-1.4 > Reporter: Vladimir Ozerov > Assignee: Vladimir Ozerov > Priority: Critical > Fix For: 1.6 > > > We have about ~50-100 usages of things like F.view or F.viewReadOnly. In lots > cases it is not necessary, adds garbage, but doesn't add any value. > Need to revisit these places. -- This message was sent by Atlassian JIRA (v6.3.4#6332)