Skip to main content

Module table

Module table 

Source
Expand description

The value engine’s hash tables: open addressing with linear probing over small Copy keys and u32 values, one slot per cache line access, Fibonacci-hashed.

Every value the engine builds is interned and every cache is keyed on ids, so these tables are on the hottest paths — an environment extension, a neutral application, an evaluation lookup each probe one. A general hash map spends several times the instructions of a probe here on hashing, metadata and growth policy.

Structs§

StampedTable
A table emptied often (at every declaration): emptying it is one increment.
Table
A table that lives for a session: emptied rarely, by filling its slots with the vacant pattern (all bits set — a memset).

Traits§

Key
A key a table can hold: its hash must be well mixed in the TOP bits.