Hi, from time to time some researchers trying to find performance bugs in open-source software create issues for collections.
One of the easy targets is the Collection#retainAll(Collection) method as the default implementation in AbstractCollection calls contains on the provided collection. Now, in the worst-case this may lead to a runtime complexity of O(n^2), i.e. when the collection has a contains implementation with O(n) complexity. The proposed solution is usually to create an intermediate set and use it to speed up the contains calls. My position was always that a given Collection class shall not overwrite this method trying to optimize its runtime behavior for any possible input by creating such intermediate data structures as this will just increase the space complexity (in many cases unnecessarily). Instead, the runtime complexity was documented (one can even question this as the Collection framework should be well-known by java users). It looks like that at 2 occasions these "performance bugs" got fixed: * https://issues.apache.org/jira/browse/COLLECTIONS-426 * https://issues.apache.org/jira/browse/COLLECTIONS-427 and I would like to revert these fixes as they are wrong imho and just create a precedent for further tickets. Does anybody challenge my rationale behind this or can I go ahead with it? Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org