You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Ben Manes (JIRA)" <ji...@apache.org> on 2015/04/08 07:28:12 UTC

[jira] [Created] (CAY-2000) Java 8: ConcurrentLinkedHashMap -> Caffeine

Ben Manes created CAY-2000:
------------------------------

             Summary: Java 8: ConcurrentLinkedHashMap -> Caffeine
                 Key: CAY-2000
                 URL: https://issues.apache.org/jira/browse/CAY-2000
             Project: Cayenne
          Issue Type: Task
            Reporter: Ben Manes
            Priority: Minor


When Cayenne transitions to requiring Java 8, please upgrade to Caffeine. The performance should be relatively the same. The per-instance memory usage should be smaller and Cayenne may decide to opt-in to use some of the additional features. The only drawback is that Cayenne embeds a copy of the cache (rather than shading) and the jar size is larger due to code generation.

ConcurrentLinkedHashMap changes will continue to be minimal, even more so now, and driven by requests from Java 6 users unable to upgrade. Caffeine is ideally the upgrade path for Guava cache users too, which due to Android cannot be significantly modified.

Caffeine: https://github.com/ben-manes/caffeine
Benchmarks: https://github.com/ben-manes/caffeine/wiki/Benchmarks
ConcurrentLinkedHashMap: https://code.google.com/p/concurrentlinkedhashmap



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)