Skip to content

Use less space in hashmaps to store Microdescs and RouterDescs

The hashmaps in NetDir and in MdConsensus have values much larger than their keys: that wastes unnecessary space in comparison to an equivalent implementation in which the values are stored in Box<>es (or in a slab allocator or something).

(To confirm this effect for yourself, use your favorite allocation-measurement tool to see how much RAM is needed for HashMap::<String,[u8;4096]>::with_capacity(1024) vs HashMap::<String,Box<[u8;4096]>::with_capacity(1024))