Crate inttable

Source
Expand description

This crate serves as a replacement for intmap in cases where the keys you are working with are already hashed. This is essentially just a wrapper around a hashbrown::HashTable<V> (with the added detail that the keys are stored alongside the values).

This is significantly faster than intmap or the built-in std::collections::HashMap type, as it performs no hashing. Thus, if your keys are not randomly distributed, performance can take a nosedive.

And yes, I realise this crate is basically a “leftpad”, but it can potentially save a tonne of boilerplate. I had to write it anyway since, so I might as well clean it up and publish it.

A lot of surrounding code (i.e., tests and benchmarks) was taken as-is from intmap.

Structs§

ExtractIf
Iterator over extracted values.
HashTable
Low-level hash table with explicit hashing.
IntTable
A Map associating unique integers and randomly distributed integers to values.
IntTableIter
Wrapper around an owned iterator from an IntTable
OccupiedEntry
Allows for in-place manipulation of existing table entries
VacantEntry
Allows for in-place manipulation of vacant table entries

Enums§

Entry
An IntTable entry