Class MemStatementIteratorCache
java.lang.Object
org.eclipse.rdf4j.sail.memory.model.MemStatementIteratorCache
A cache for MemStatementIterator that tracks how frequently an iterator is used and caches the iterator as a list
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal int
private final com.google.common.cache.Cache
<MemStatementIterator, List<MemStatement>> private final ConcurrentHashMap
<MemStatementIterator, Integer> private static final org.slf4j.Logger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) MemStatementIteratorCache.CachedIteration
getCachedIterator
(MemStatementIterator iterator) (package private) void
void
(package private) boolean
shouldBeCached
(MemStatementIterator iterator)
-
Field Details
-
logger
private static final org.slf4j.Logger logger -
CACHE_FREQUENCY_THRESHOLD
public final int CACHE_FREQUENCY_THRESHOLD -
iteratorFrequencyMap
-
iteratorCache
-
-
Constructor Details
-
MemStatementIteratorCache
public MemStatementIteratorCache(int cacheFrequencyThreshold)
-
-
Method Details
-
invalidateCache
public void invalidateCache() -
incrementIteratorFrequencyMap
-
shouldBeCached
-
getCachedIterator
-