This thesis proposes novel and efficient data structures, suitable for immutable collection libraries, that carefully balance memory footprint and runtime performance of operations, and are aware of constraints and platform co-design challenges on the Java Virtual Machine (JVM). Collection data structures that are contained in standard libraries of programming languages are popular amongst programmers. Almost all programs make use of collections. Therefore optimizing collections implies automatically increasing the performance of many programs. Today’s collection data structures are mostly one-off solutions. This is problematic, since statically encoding data structure design decisions and trade-offs brings disadvantages for the library use...
A compiler-checked immutability guarantee provides useful doc-umentation, facilitates reasoning, and...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
\u3cp\u3eThe data structures under-pinning collection API (e.g. lists, sets, maps) in the standard l...
The data structures under-pinning collection API (e.g. lists, sets, maps) in the standard libraries ...
Collection data structures in standard libraries of programming languages are designed to excel for ...
The hash trie data structure is a common part in standard collection libraries of JVM programming la...
International audienceThe hash trie data structure is a common part in standard collectionlibraries ...
An immutable multi-map is a many-to-many thread-friendly map data structure with expected fast inse...
textabstractAn immutable multi-map is a many-to-many map data structure with expected fast insert an...
An immutable multi-map is a many-to-many map data structure with expected fast insert and lookup ope...
Managed, type-safe languages such as Java are becoming an increasingly competitive alternative for p...
State-of-the-art immutable collections have wildly differing performance characteristics across thei...
Expandable collections are collections whose size may vary as elements are added and removed. Hash m...
As the number of cores increases in modern multiprocessors, it is be-coming increasingly difficult t...
A compiler-checked immutability guarantee provides useful doc-umentation, facilitates reasoning, and...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
\u3cp\u3eThe data structures under-pinning collection API (e.g. lists, sets, maps) in the standard l...
The data structures under-pinning collection API (e.g. lists, sets, maps) in the standard libraries ...
Collection data structures in standard libraries of programming languages are designed to excel for ...
The hash trie data structure is a common part in standard collection libraries of JVM programming la...
International audienceThe hash trie data structure is a common part in standard collectionlibraries ...
An immutable multi-map is a many-to-many thread-friendly map data structure with expected fast inse...
textabstractAn immutable multi-map is a many-to-many map data structure with expected fast insert an...
An immutable multi-map is a many-to-many map data structure with expected fast insert and lookup ope...
Managed, type-safe languages such as Java are becoming an increasingly competitive alternative for p...
State-of-the-art immutable collections have wildly differing performance characteristics across thei...
Expandable collections are collections whose size may vary as elements are added and removed. Hash m...
As the number of cores increases in modern multiprocessors, it is be-coming increasingly difficult t...
A compiler-checked immutability guarantee provides useful doc-umentation, facilitates reasoning, and...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...