https://issues.apache.org/bugzilla/show_bug.cgi?id=53821

          Priority: P2
            Bug ID: 53821
          Assignee: [email protected]
           Summary: IdentityStack.removeAll() is slow
          Severity: normal
    Classification: Unclassified
                OS: Linux
          Reporter: [email protected]
          Hardware: PC
            Status: NEW
           Version: 1.8.4
         Component: Core
           Product: Ant

Created attachment 29320
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=29320&action=edit
patch

"IdentityStack.removeAll(Collection coll)" has the same performance
problem as the previously fixed Bug 53622 (for
"VectorSet.retainAll(Collection coll)").  The problem is that
"removeAll(Collection coll)" performs "coll.contains(e.next())", which
is slow if for example "coll" is a list.

I attached a patch similar to the one used by Jesse Glick in Bug
53622.  I also attached a test that exposes this problem.  For this
test, the patch provides a 97X speedup on my machine.

To run the test, just do:

$ java Test

The output for the un-patched version is:
Time is 2516

The output for the patched version is:
Time is 26

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to