Package io.github.dhruv1110.jcachex.impl
Class HardwareOptimizedCache<K,V>
- java.lang.Object
-
- io.github.dhruv1110.jcachex.impl.HardwareOptimizedCache<K,V>
-
- All Implemented Interfaces:
Cache<K,V>
public final class HardwareOptimizedCache<K,V> extends Object implements Cache<K,V>
Hardware-optimized cache implementation that leverages CPU-specific features. Key optimizations: - SIMD-style operations for bulk processing - CPU-specific instruction optimizations - Memory prefetching strategies - Cache line awareness - Branch prediction optimization - Hardware-specific hash functions
-
-
Constructor Summary
Constructors Constructor Description HardwareOptimizedCache(CacheConfig<K,V> config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Removes all mappings from this cache.CompletableFuture<Void>
clearAsync()
Asynchronously removes all mappings from this cache.CacheConfig<K,V>
config()
Returns the cache configuration.boolean
containsKey(K key)
Returns true if this cache contains a mapping for the specified key.Set<Map.Entry<K,V>>
entries()
Returns a view of all the key-value pairs in this cache.V
get(K key)
Returns the value associated with the key in this cache, or null if there is no cached value for the key.Map<K,V>
getAll(K[] keys)
SIMD-optimized bulk get operationCompletableFuture<V>
getAsync(K key)
Asynchronously returns the value associated with the key in this cache.Set<K>
keys()
Returns a view of all the keys in this cache.void
put(K key, V value)
Associates the specified value with the specified key in this cache.void
putAll(K[] keys, V[] values)
SIMD-optimized bulk put operationCompletableFuture<Void>
putAsync(K key, V value)
Asynchronously associates the specified value with the specified key in this cache.V
remove(K key)
Removes the mapping for a key from this cache if it is present.CompletableFuture<V>
removeAsync(K key)
Asynchronously removes the mapping for a key from this cache if it is present.long
size()
Returns the approximate number of entries in this cache.CacheStats
stats()
Returns the cache statistics.Collection<V>
values()
Returns a view of all the values in this cache.
-
-
-
Constructor Detail
-
HardwareOptimizedCache
public HardwareOptimizedCache(CacheConfig<K,V> config)
-
-
Method Detail
-
get
public final V get(K key)
Description copied from interface:Cache
Returns the value associated with the key in this cache, or null if there is no cached value for the key.
-
put
public final void put(K key, V value)
Description copied from interface:Cache
Associates the specified value with the specified key in this cache.
-
remove
public final V remove(K key)
Description copied from interface:Cache
Removes the mapping for a key from this cache if it is present.
-
clear
public final void clear()
Description copied from interface:Cache
Removes all mappings from this cache.
-
size
public final long size()
Description copied from interface:Cache
Returns the approximate number of entries in this cache.
-
stats
public final CacheStats stats()
Description copied from interface:Cache
Returns the cache statistics.
-
config
public final CacheConfig<K,V> config()
Description copied from interface:Cache
Returns the cache configuration.
-
keys
public final Set<K> keys()
Description copied from interface:Cache
Returns a view of all the keys in this cache.
-
values
public final Collection<V> values()
Description copied from interface:Cache
Returns a view of all the values in this cache.
-
entries
public final Set<Map.Entry<K,V>> entries()
Description copied from interface:Cache
Returns a view of all the key-value pairs in this cache.
-
containsKey
public final boolean containsKey(K key)
Description copied from interface:Cache
Returns true if this cache contains a mapping for the specified key.- Specified by:
containsKey
in interfaceCache<K,V>
- Parameters:
key
- key whose presence in this cache is to be tested- Returns:
- true if this cache contains a mapping for the specified key
-
getAsync
public final CompletableFuture<V> getAsync(K key)
Description copied from interface:Cache
Asynchronously returns the value associated with the key in this cache.
-
putAsync
public final CompletableFuture<Void> putAsync(K key, V value)
Description copied from interface:Cache
Asynchronously associates the specified value with the specified key in this cache.
-
removeAsync
public final CompletableFuture<V> removeAsync(K key)
Description copied from interface:Cache
Asynchronously removes the mapping for a key from this cache if it is present.- Specified by:
removeAsync
in interfaceCache<K,V>
- Parameters:
key
- key whose mapping is to be removed from the cache- Returns:
- a CompletableFuture that will be completed with the previous value associated with key, or null if there was no mapping for key
-
clearAsync
public final CompletableFuture<Void> clearAsync()
Description copied from interface:Cache
Asynchronously removes all mappings from this cache.- Specified by:
clearAsync
in interfaceCache<K,V>
- Returns:
- a CompletableFuture that will be completed when the operation is done
-
-