Repository: ant Updated Branches: refs/heads/master 2e23a881f -> da83de920
performance improvement for <intersect> Bugzilla Issue 57588 Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/da83de92 Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/da83de92 Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/da83de92 Branch: refs/heads/master Commit: da83de9208e2efceaf836a155abb5c2446f2dd46 Parents: 2e23a88 Author: Stefan Bodewig <bode...@apache.org> Authored: Fri Feb 20 10:11:09 2015 +0100 Committer: Stefan Bodewig <bode...@apache.org> Committed: Fri Feb 20 10:11:09 2015 +0100 ---------------------------------------------------------------------- WHATSNEW | 3 +++ .../apache/tools/ant/types/resources/Intersect.java | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant/blob/da83de92/WHATSNEW ---------------------------------------------------------------------- diff --git a/WHATSNEW b/WHATSNEW index ca81b8b..82f78ac 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -98,6 +98,9 @@ Other changes: * adapted unit tests to Java9 and added "javac1.9" as valid option for javac's compiler attribute. + * performance improvements for <intersect> + Bugzilla Report 57588 + Changes from Ant 1.9.3 TO Ant 1.9.4 =================================== http://git-wip-us.apache.org/repos/asf/ant/blob/da83de92/src/main/org/apache/tools/ant/types/resources/Intersect.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/Intersect.java b/src/main/org/apache/tools/ant/types/resources/Intersect.java index 301df7c..cdbeed0 100644 --- a/src/main/org/apache/tools/ant/types/resources/Intersect.java +++ b/src/main/org/apache/tools/ant/types/resources/Intersect.java @@ -17,10 +17,11 @@ */ package org.apache.tools.ant.types.resources; -import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.types.Resource; @@ -45,17 +46,16 @@ public class Intersect extends BaseResourceCollectionContainer { + " resource collection" + ((size == 1) ? "" : "s") + " is undefined."); } - List<Resource> al = new ArrayList<Resource>(); Iterator<ResourceCollection> rc = rcs.iterator(); - al.addAll(collect(rc.next())); + Set<Resource> s = new LinkedHashSet<Resource>(collect(rc.next())); while (rc.hasNext()) { - al.retainAll(collect(rc.next())); + s.retainAll(collect(rc.next())); } - return al; + return s; } - private List<Resource> collect(ResourceCollection rc) { - List<Resource> result = new ArrayList<Resource>(); + private Set<Resource> collect(ResourceCollection rc) { + Set<Resource> result = new LinkedHashSet<Resource>(); for (Resource r : rc) { result.add(r); }