kirancodes.me
To Proof Maintenance & Beyond!

To-many or to-one? all-in-one! efficient purely functional multi-maps with type-heterogeneous hash-tries

Michael J. Steindorfer, Jurgen J. Vinju

Abstract

An immutable multi-map is a many-to-many map data structure with expected fast insert and lookup operations. This data structure is used for applications processing graphs or many-to-many relations as applied in compilers, runtimes of programming languages, or in static analysis of object-oriented systems. Collection data structures are assumed to carefully balance execution time of operations with memory consumption characteristics and need to scale gracefully from a few elements to multiple gigabytes at least. When processing larger in-memory data sets the overhead of the data structure encoding itself becomes a memory usage bottleneck, dominating the overall performance.

Related papers