-
Notifications
You must be signed in to change notification settings - Fork 872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch from concurrentlinkedhashmap-lru to caffeine #6725
Comments
Makes sense for OrientDB 3 that will require Java8, but now we can't substitute it because OrientDB 2.2.x is Java7 compatible. |
@trejkaz @lvca why not will do |
Most of our usages of Unfortunately, Caffeine has about x5 overhead on such usage pattern comparing to At this moment, I don't see real benefits in switching from |
Perhaps stormpot is a better fit. It's an object pool that utilizes thread locals to improve acquisition time, with a concurrent queue for management. If you have a benchmark (e.g. jmh) then I can investigate the slowdown. |
Thanks for Stormpot, seems like that is a great thing. But it doesn't have mapping/interning semantics and seems like there is no cheap and easy way of introducing it. It will be a great fit for pure pools maybe with some kind of instance attach-detach semantics on top of it. Regarding JMH benchmark, I will create one on spare time and let you know. |
I noticed we have a copy of concurrentlinkedhashmap-lru in our project, pulled in by orient-core:
The project site itself says that Caffeine is the successor library and a ticket I just raised with concurrentlinkedhashmap got a reply saying that switching is recommended.
I would also prefer not to have more than one library for the exact same purpose in our project when possible, and in this case, since it seems to be a direct successor, it seems like it should be possible.
Would it be possible for orientdb to switch caching libraries to caffeine?
The text was updated successfully, but these errors were encountered: