-
Notifications
You must be signed in to change notification settings - Fork 474
Description
Hi! It looks like this PR makes big performance regression for my project. As there is a contention on LRU cache locks. We're creating thousands of links concurrently and threads have to wait for each other. @odrotbohm could you revert that PR or propose non blocking solution?
Here you can see part of profiling my app:
Before that change there is no wall-clock time on that locks.
The reason of that is the ConcurrentReferenceHashMap
. It doesn't lock on get()
method while ConcurrentLruCache$get
uses ReentrantReadWriteLock
.
More over (by @mprzeor):
just to show you the scale of the problem that @wyhasany described - we had to downgrade Spring Boot from 2.4.3 to 2.4.1 because average response time in our project increased 10 times, from 7ms to 70ms