Binary package “mmmulti” in ubuntu jammy
memory backed multimap
This implements a memory backed multimap intended for use where:
* your keys are integers, or can be mapped to dense range of integers,
* the memory mapped file is on fast storage, like an SSD (although
this is not a requirement),
* you have arbitrary values of fixed size (e.g. structs, other POD
types) that can be sorted,
* you don't need dynamic updates of the table,
* and you are likely to run out of memory of you use a traditional
map or hash table,
* but you can handle approximately 1 bit per record in RAM.
.
These may seem to be very specific, but many problems can be mapped into
a dense integer set. mmmulti::map developed first as a data structure
to support seqwish, which uses it to generate precise variation graphs
from pairwise alignments between collections of sequences. As this
multimap forms a key data processing kernel in the algorithm, it can
scale to extremely large problem sizes, limited only by available disk
space. Although performance is much slower than an in-memory structure,
it is virtually guaranteed to be able to complete the compute.