ogle/program/server: do less I/O when printing maps
The buckets are stored in contiguous blocks of memory preceded by a header.
Introduce a cache so the entire structure can be read once in the typical
case, with printValueAt using the cache to print values in the bucket.
If the structure is a map of maps, the code will still work but
only the innermost map will exploit the cache well.
That's a rare case anyway, and no worse than the current situation.

1 file changed