JLD: lazy loading of `Dict`?


#1

I’m wondering if it’s possible to lazily load a Dict from a JLD file, or the equivalent thereof, by which I mean, if I have a JLD file of size N I want to load values from my Dict only touching n\ll N bytes of the file. This is basically what happens with memory mapping, as I understand it, but it’s not at all clear to me that if mmaparrays=true something like this will happen with data structures other than arrays. A broader explanation of what happens when mmaparrays=true would also be appreciated.

A work around would be to have an intermediate Dict that mapped values of an arbitrary types to strings, and then storing values in the HDF5 file labeled by strings, but that’s just a big ugly pain in the ass.

Thanks all.


#2

I don’t think it is possible. A Dict has a complex internal structure, loading half of it is difficult.

AFAICT if it encounters an array that it can Mmap in the HDF5 structure, it does that. This rules out compression and non-bitstypes.