Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Fast and Lean Immutable Multi-Maps on the JVM based on Heterogeneous
  Hash-Array Mapped Tries   An immutable multi-map is a many-to-many thread-friendly 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
static analysis of object-oriented systems. When processing such big data sets
the memory overhead of the data structure encoding itself is a memory usage
bottleneck. Motivated by reuse and type-safety, libraries for Java, Scala and
Clojure typically implement immutable multi-maps by nesting sets as the values
with the keys of a trie map. Like this, based on our measurements the expected
byte overhead for a sparse multi-map per stored entry adds up to around 65B,
which renders it unfeasible to compute with effectively on the JVM.
  In this paper we propose a general framework for Hash-Array Mapped Tries on
the JVM which can store type-heterogeneous keys and values: a Heterogeneous
Hash-Array Mapped Trie (HHAMT). Among other applications, this allows for a
highly efficient multi-map encoding by (a) not reserving space for empty value
sets and (b) inlining the values of singleton sets while maintaining a (c)
type-safe API.
  We detail the necessary encoding and optimizations to mitigate the overhead
of storing and retrieving heterogeneous data in a hash-trie. Furthermore, we
evaluate HHAMT specifically for the application to multi-maps, comparing them
to state-of-the-art encodings of multi-maps in Java, Scala and Clojure. We
isolate key differences using microbenchmarks and validate the resulting
conclusions on a real world case in static analysis. The new encoding brings
the per key-value storage overhead down to 30B: a 2x improvement. With
additional inlining of primitive values it reaches a 4x improvement.

2
The categories of this paper are: math
4
The categories of this paper are: cond-mat
36
The categories of this paper are: cmp-lg
25
The categories of this paper are: patt-sol
27
The categories of this paper are: comp-gas
7
The categories of this paper are: hep-th
31
The categories of this paper are: ao-sci
15
The categories of this paper are: nucl-ex
21
The categories of this paper are: adap-org
29
The categories of this paper are: funct-an
22
The categories of this paper are: chao-dyn
8
The categories of this paper are: hep-ex
6
The categories of this paper are: astro-ph
17
The categories of this paper are: q-fin
10
The categories of this paper are: q-bio
11
The categories of this paper are: hep-lat