commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Manes (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCS-119) replace synchronized blocks by java locks or concurrenhashmap
Date Tue, 20 Dec 2016 18:39:58 GMT

    [ https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15764911#comment-15764911
] 

Ben Manes commented on JCS-119:
-------------------------------

Perfect. You might want to drop the embedded copy of ConcurrentHashMapV8. That backport has
higher performance, but utilizes Unsafe. Now that JDK8 is released, those who want the extra
performance would most likely upgrade JVMs.

> replace synchronized blocks by java locks or concurrenhashmap
> -------------------------------------------------------------
>
>                 Key: JCS-119
>                 URL: https://issues.apache.org/jira/browse/JCS-119
>             Project: Commons JCS
>          Issue Type: Improvement
>            Reporter: Romain Manni-Bucau
>            Assignee: Thomas Vandahl
>             Fix For: jcs-2.1
>
>
> A cache is typically used in a concurrent environment. Since Java 6 using a ReentrantLock
is faster than synchronized so can be interesting to replace synchronized blocks by a lock.
> Places i'm thinking about:
> * CompositeCache
> * AbstractDoubleLinkedListMemoryCache
> * LHMLRUMemoryCache
> * DoubleLinkedList
> * LRUMap
> * SingleLinkedList
> * SortedPreferentialArray
> Some places where replacing a HashMap by a ConcurrentHashMap can allow to get rid of
synchronized without needing a lock:
> * CacheEventQueue
> * AbstractDiskCache
> * CacheWatchRepairable
> There are other places but this is the main I saw.



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

Mime
View raw message