Allow finer control of caches in image loaders #137
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a CacheOverrider interface and implementations of this interface in:
Adds a constructor in VolatileGlobalCellCache with a LoaderCache argument.
Together these modifications allow to get a finer control over the caching mechanism used when loading a dataset. In practice, using a BoundedSoftRefLoaderCache with a fixed number a cells instead of a SoftRefLoaderCache can lead to very significant performance improvement. Cached cells can be released: 1 - before the RAM gets full, 2 - more efficiently (and aggressively) than when SoftRefs are released by the garbage collector.
This PR maintains backward compatibility and does not modify the default behaviour (SoftRefLoaderCache).