Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences 2014
DOI: 10.1145/2658761.2658763
|View full text |Cite
|
Sign up to set email alerts
|

Code specialization for memory efficient hash tries (short paper)

Abstract: The hash trie data structure is a common part in standard collection libraries of JVM programming languages such as Clojure and Scala. It enables fast immutable implementations of maps, sets, and vectors, but it requires considerably more memory than an equivalent array-based data structure. This hinders the scalability of functional programs and the further adoption of this otherwise attractive style of programming.In this paper we present a product family of hash tries. We generate Java source code to specia… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
9
0

Year Published

2015
2015
2017
2017

Publication Types

Select...
4
2

Relationship

5
1

Authors

Journals

citations
Cited by 7 publications
(10 citation statements)
references
References 8 publications
1
9
0
Order By: Relevance
“…Soft references mitigate memory limitations nicely at the cost of runtime efficiency. On the other hand we are investing in low level optimizations for in-memory hierarchical data-structures [5], [15]. These results are hopeful, making it feasible to scale to even larger analyses without sacrificing immutability.…”
Section: G Efficiency and Memory Consumptionmentioning
confidence: 99%
“…Soft references mitigate memory limitations nicely at the cost of runtime efficiency. On the other hand we are investing in low level optimizations for in-memory hierarchical data-structures [5], [15]. These results are hopeful, making it feasible to scale to even larger analyses without sacrificing immutability.…”
Section: G Efficiency and Memory Consumptionmentioning
confidence: 99%
“…Recent work has focused on optimizing the sets (which are also used for relations) and maps in Rascal [31,32], with the latter [32] using control-flow graphs extracted by PHP AiR as part of the evaluation dataset. Work on PHP AiR has also led to improvements in Rascal libraries for statistics, for accessing external data sources, and for serializing large volumes of data.…”
Section: Implementation Challengesmentioning
confidence: 99%
“…This also enables easy experimentation at the algorithmic level. Memory performance is critical for this [31,32] since a common reason to not use such straightforward implementations is to increase performance.…”
Section: Lessons Learned and Future Directionsmentioning
confidence: 99%
See 1 more Smart Citation
“…Our point of departure is the Hash-Array Mapped Trie (HAMT) data structure [2], which has proven to be an efficient immutable alternative to array-based implementations. In contrast to arrays, HAMTs enable fine-grained memory layout optimizations [17]. There exists an optimized encoding [18] of HAMTs tailored the JVM, named Compressed Hash-Array Mapped Prefix-tree (CHAMP).…”
Section: Introductionmentioning
confidence: 99%