You mean I can save it somewhere and only update it when a cleanup is performed?
This should be better. Now there will be only isEmpty(), getFirst() and addFirst(), and one less getLast(). Thanks Max > On Feb 23, 2018, at 1:45 AM, Xuelei Fan <xuelei....@oracle.com> wrote: > > Looks like list synchronization is a factor of the performance impact. Maybe, > you can have a private time for the oldest entry so don't > access/iterate/cleanup entries list until necessary. The "at most every > minute" may be not a good strategy in some situations. > > Xuelei > > On 2/22/2018 12:36 AM, Weijun Wang wrote: >> Please take a review at >> http://cr.openjdk.java.net/~weijun/8197518/webrev.00/ >> Two notes: >> 1. I tried list.subList(here, end).clear() but it's not faster. >> 2. I have looked at ConcurrentHashMap + ConcurrentSkipListMap but will need >> more time to verify its correctness and measure the performance gain. Since >> the bug is reported on 8u, a safer fix looks better. >> Noreg-perf. >> Thanks >> Max