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);
         }

Reply via email to