Hello everybody.

I would like to know if there would be any interest of including a "disk-backed 
map" into the commons-collections? The problem statement for it would be:
- while we are moving to 64bit, it will still take a couple of years until all 
hardware is 64 bit and more importantly, all software (or at least the OS + JVM 
running on it) are 64 bit. In the meantime you can easily run out of memory 
space, even though you physically would have enough memory and you would accept 
some swapping (rather than the process dying with OOM). I had such an issue 
with running PMD CPD on a larger codebase (2+ million LOC).

The solution:

- a Map which keeps its keys in memory but writes the values to disk (to a 
temporary file, marked deleteOnExit). It also keeps WeakRefs to the values. 
When a request comes in for a value, it tries to satisfy it using the weakref, 
and if it fails, it reads it back from the temporary file. This would be 
efficient for a mostly read-intensive application (it does not try to 
efficiently handle the situations when there are many removes/updates to the 
file).

Would you be interested in including this solution in the framework?

Best regards (and happy holidays),
Attila



      

Reply via email to