mmmulti

memory backed multimap

Description

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.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

https://github.com/ekg/mmmulti


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install mmmulti