COW branching semantics on top of Apache Lucene.
Provides fast forking (~3-5ms), structural sharing of immutable segments, branch-isolated indexing/searching, snapshot retention, and explicit GC.
Key concepts:
COW branching semantics on top of Apache Lucene. Provides fast forking (~3-5ms), structural sharing of immutable segments, branch-isolated indexing/searching, snapshot retention, and explicit GC. Key concepts: - Writer: mutable handle to a branch (one per branch per JVM) - Snapshot: immutable DirectoryReader at a specific commit point - Branch: COW overlay sharing base segments with the trunk - GC: explicit cleanup of old snapshots respecting branch references
Yggdrasil adapter for scriptum COW indexes.
Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.) return new ScriptumSystem values. The underlying BranchIndexWriter instances are mutable (Lucene writers), but the system structure (which writers exist, which is current) is immutable.
Snapshot IDs are UUIDs stored in commit user-data.
Yggdrasil adapter for scriptum COW indexes. Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.) return new ScriptumSystem values. The underlying BranchIndexWriter instances are mutable (Lucene writers), but the system structure (which writers exist, which is current) is immutable. Snapshot IDs are UUIDs stored in commit user-data.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |