Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0-alpha-1, 2.5.0-beta-2, 2.4.13, 2.6.0-alpha-2
-
None
-
None
Description
There are many cache implementation in Groovy, many of them are duplicated(e.g. cache algorithm, the code of implementation...). That is to say, Groovy is lack of a common cache.
The common cache should:
1) has two version: thread-safe and not thread-safe for different senario
2) achieve basic cache function(manage keys and values, LRU, etc.)
3) can specify the map that the cache is based on(Maybe we need WeakHashMap or other Map instance sometimes)
Here is the implementation of the common cache:
https://github.com/apache/groovy/blob/master/src/main/org/codehaus/groovy/runtime/memoize/CommonCache.java
https://github.com/apache/groovy/blob/master/src/main/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java