commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Balazs Attila-Mihaly \(Cd-MaN\)" <>
Subject [collections]
Date Mon, 13 Dec 2010 03:27:21 GMT
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),

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message