Functional Vectors, Maps, and Sets in Julia
summary
Implements persistent vector map and set in Julia by building a bitmap vector trie and a sparse bitmap hash trie and shows working code in zakalon functionalcollections.jl The implementation stores hashes to avoid recompute uses a tail optimization so most appends avoid the trie and reports appends as about ~5x slower push than mutable arrays while lookups cost log32 n which is about 6 steps for four billion elements The talk shows construction details performance tradeoffs and mentions RRB trees as a followup for fast concatenation
AI-written summary · about
chapters (11)
- 0:00Introduction to Julia
- 1:14Working with trees in Julia
- 2:56Functional programming basics
- 5:37Persistent vector concepts
- 7:40Implementing persistent vectors
- 11:43Indexing and updating vectors
- 14:31Growing persistent vectors
- 17:05Vector optimization and theory
- 20:58Persistent hash maps
- 27:00Implementing persistent maps
- 31:00Conclusion and resources
related talks
27m"Vector Symbolic Architectures In Clojure"
53mVectors: how to better support a nasty data type in PostgreSQL
36mThe unreasonable effectiveness of feature hashing
35mBuilding High Performance Search Indexes in Rust with SIMD
48mVectors are the new JSON
01h 23mVector Databases Demystified: Discover how they work
44mVector Search Beyond the Hype: Real-World Implementation and Performance Insights
46mA fun and absurd introduction to Vector Databases
