-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Roadmap
Ben Manes edited this page Aug 1, 2015
·
135 revisions
- Evaluate eviction policies that improve upon LRU
- Implement eviction policies in the simulator
- OpenBSD's 2Q adaption
- LIRS
- Clock-Pro
- ... (Contributions appreciated!)
- Acquire traces from production workloads to understand the trade-offs
- Internet Traffic Archive
- ... (Contributions appreciated!)
- Implement eviction policies in the simulator
- Benchmark arena spacing vs padding for better false sharing avoidance
A major revision that includes API incompatible changes.
- Potentially adopt alternative eviction policy
- Based on simulation analysis and algorithm compatibilities
- RemovalListener
- Use friendlier typed lambda syntax to chain as
(k, v, cause) -> ... - RemovalNotification retained as helper, but not used in the API
- Use friendlier typed lambda syntax to chain as
- AsyncLocalCache
- Consider extending Cache<K, CompletableFuture<V>> interface
- Cache: Conflict on get(k, k -> v) with get(k, k -> future)
- LoadingCache: Conflicts on getAll returning future<map> vs map<k, future>
- Add asMap() view of key -> futures
- Consider extending Cache<K, CompletableFuture<V>> interface
- Tracing
- Remove deprecated methods
- Use snake case for system properties (consistency with Typesafe Config library)
- Collections
- Simulator
- Add weight and expiration support
- Consider encoding the linked lists as arrays
- 64-bit reference becomes 32-bit int (only if compressed OOPS is not enabled)
- Better caching effects due to contiguous data
- Cons: Limits the size (2B entries), cost is minimal due to maintenance done using ForkJoinPool

