2017
DOI: 10.1145/3110260
|View full text |Cite
|
Sign up to set email alerts
|

Persistence for the masses: RRB-vectors in a systems language

Abstract: Relaxed Radix Balanced Trees (RRB-Trees) is one of the latest members in a family of persistent tree based data-structures that combine wide branching factors with simple and relatively flat structures. Like the battletested immutable sequences of Clojure and Scala, they have effectively constant lookup and updates, good cache utilization, but also logarithmic concatenation and slicing. Our goal is to bring the benefits of functional data structures to the discipline of systems programming via generic yet effi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
8
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 12 publications
(8 citation statements)
references
References 21 publications
0
8
0
Order By: Relevance
“…Recently introduced persistent data structures permit transient mutations where non-linear uses lead to degraded performance [Conchon and Filliâtre 2007] or to dynamic and static checks [Puente 2017]. In particular, persistent Hash-Array-Mapped-Tries (HAMT) have been used with similar APIs in several non-pure functional languages (OCaml, Clojure, .…”
Section: Solving Sudokus With Hybrid Data-structuresmentioning
confidence: 99%
See 1 more Smart Citation
“…Recently introduced persistent data structures permit transient mutations where non-linear uses lead to degraded performance [Conchon and Filliâtre 2007] or to dynamic and static checks [Puente 2017]. In particular, persistent Hash-Array-Mapped-Tries (HAMT) have been used with similar APIs in several non-pure functional languages (OCaml, Clojure, .…”
Section: Solving Sudokus With Hybrid Data-structuresmentioning
confidence: 99%
“…While presented for copy-on-write arrays, the API can easily be adapted to other persistent data structures with transient mutability such as Relaxed-Radix Balance Vectors (RRB) [Puente 2017] or persistent HAMTs [Bagwell 2001; Hickey 2017] to provide a convenient programming style without compromising performance.…”
Section: Solving Sudokus With Hybrid Data-structuresmentioning
confidence: 99%
“…Instead we need a different representation. Similar to the changes made for more recent immutable sequence data structures [19,26] and binary search trees [21] we need to break out of the original hash-trie design and add some initial overhead to achieve what we want: a leaner and faster implementation of multi-maps and likewise data structure designs (that require fine-grained type-heterogeneity).…”
Section: The Axiom Prefix-search Treementioning
confidence: 99%
“…In line with recent efforts of optimizing generic general purpose collections [10,19,24,26], we aim to improve collection data structures towards memory-intensive applications, which is a preliminary for processing larger data sets that fit into main memory.…”
Section: Introductionmentioning
confidence: 99%
“…To reduce the memory overhead introduced by shadow paging, our datastructures use structural sharing optimizations found in purely functional datastructures [13,36,38,41,43]. With these optimizations, the updated shadow is built out of the unmodified data of the original datastructure plus modest new and updated state.…”
Section: Introductionmentioning
confidence: 99%