Created attachment 29320 [details] 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
Created attachment 29321 [details] test
svn revision 1554813