Liking cljdoc? Tell your friends :D

vaelii.impl.types.dense-roots

The columnar index's key-interning root backend, as a held namespace (vaelii.impl.types.prover states what that means). DenseRoots mutates its own fields, which only its inline methods can do, so the type and the code it calls live here together; it calls only held namespaces. Building one, and the snapshot sections it is written into, are vaelii.impl.dense-roots.

The columnar index's key-interning root backend, as a held namespace
(`vaelii.impl.types.prover` states what that means).  `DenseRoots` mutates its own
fields, which only its inline methods can do, so the type and the code it calls live
here together; it calls only held namespaces.  Building one, and the snapshot sections
it is written into, are `vaelii.impl.dense-roots`.
raw docstring

PMappedRootscljprotocol

sectionsclj

(sections b)

What this backend holds, by section — {:routed :keys :offsets :handles :argfam :fallback} — for a residency measurement (vaelii.bench.budget). The objects themselves, never a copy: snapshot-read builds fresh heap arrays to write, and sizing those would size a temporary rather than what a running KB holds.

Which section carries the mass is the whole reading, so each says what it scales with:

  • :routed — the mutable map the routed families use before a snapshot is installed and after a write thaws one. Fact-scaled: every handle family is in here.
  • :keys / :offsets / :handles — the installed columns. The first two are vocabulary-scaled, :handles is the fact-scaled mass, and all three are buffers over the image, so they belong in a caller's mapped total rather than its heap one.
  • :argfam — the scope dictionary the packed argument and leaf keys cite (argfam-id). Vocabulary-scaled, bounded by distinct predicates × their arities × their contexts, plus one per context.
  • :fallback — the backend under everything the routed families do not claim: the term roster and the slot roster, whose members are names rather than handles (fallback-entries). Vocabulary-scaled, which is what lets a snapshot write it as one nippy blob.

The heap/mapped split is the caller's to make from the objects — a buffer says whether it is direct — so this reports the shape and judges nothing.

What this backend **holds**, by section — `{:routed :keys :offsets :handles :argfam
:fallback}` — for a residency measurement (`vaelii.bench.budget`).  The objects
themselves, never a copy: `snapshot-read` builds fresh heap arrays to write, and
sizing those would size a temporary rather than what a running KB holds.

Which section carries the mass is the whole reading, so each says what it scales
with:

- `:routed` — the mutable map the routed families use before a snapshot is installed
  and after a write thaws one.  **Fact-scaled**: every handle family is in here.
- `:keys` / `:offsets` / `:handles` — the installed columns.  The first two are
  vocabulary-scaled, `:handles` is the fact-scaled mass, and all three are buffers
  over the image, so they belong in a caller's *mapped* total rather than its heap
  one.
- `:argfam` — the scope dictionary the packed argument and leaf keys cite
  (`argfam-id`).  **Vocabulary-scaled**, bounded by distinct predicates × their
  arities × their contexts, plus one per context.
- `:fallback` — the backend under everything the routed families do not claim: the
  term roster and the slot roster, whose members are names rather than handles
  (`fallback-entries`).  **Vocabulary-scaled**, which is what lets a snapshot write
  it as one nippy blob.

The heap/mapped split is the caller's to make from the objects — a buffer says
whether it is direct — so this reports the shape and judges nothing.
source

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close