-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
There are two possible improvements to be applied to the Externalizer strategy applied by FileListCacheValue.
- Each String is being encoded (and decoded) in UTF8 format, which is expensive. We should explore alternative encodings to String - at least for the wire format.
- This is an ideal case for Delta operations: on each modification just one entry of the map is added / removed, but the whole HashMap is being transferred at each write.
I'm not sure how we can combine the Delta interface with custom Externalizers, so that will need to be explored.
We might want to avoid storing it as a value and resort to custom RPC commands to transfer the needed bits only, but we don't want to reimplement state transfer and CacheStore storage.