RFR: 8005051: optimized defaults for Iterator.forEachRemaining (original) (raw)
Ulf Zibis Ulf.Zibis at CoSoCo.de
Sat Apr 20 20:42:24 UTC 2013
- Previous message: RFR: 8005051: optimized defaults for Iterator.forEachRemaining
- Next message: RFR: 8005051: optimized defaults for Iterator.forEachRemaining
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 20.04.2013 01:59, schrieb Akhil Arora:
Please review the addition of optimized defaults for Iterator's forEachRemaining to ArrayList, LinkedList, Vector and CopyOnWriteArrayList. The unit test has a performance comparison test (disabled by default) that measures the difference between this method and hasNext()/next(). Significant improvements were measured by overriding the default forEachRemaining by these classes (others, not so much).
You mostly do not need ".this.", e.g. in Vector: Compare lines 1160 <-> 1137 Line 1165 could be: final Object[] elementData = this.elementData; or simply final Object[] elements = elementData;
To be in line with old habits, please remove space after casts. See also: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6939278
For performance reasons it could be considered to make Itr final and copy its methods to ListItr.
Interesting: I ever thought, private members are always final, but here a private method becomes extended.
-Ulf
- Previous message: RFR: 8005051: optimized defaults for Iterator.forEachRemaining
- Next message: RFR: 8005051: optimized defaults for Iterator.forEachRemaining
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]