[package]
edition = "2021"
name = "entropy-map"
version = "1.2.0"
authors = [
"Alex Bocharov <bocharov.alexandr@gmail.com>",
"Austin Hartzheim <inbox@austinhartzheim.me>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ultra-low latency hash map using minimal perfect hash functions and compact encoding of values, minimizing memory footprint and storage size for efficient data retrieval."
documentation = "https://docs.rs/entropy-map"
readme = "README.md"
keywords = [
"map",
"hashing",
"minimal",
"perfect",
"mphf",
]
categories = [
"algorithms",
"data-structures",
]
license = "Apache-2.0"
repository = "https://github.com/cloudflare/entropy-map"
[features]
default = []
rkyv_derive = [
"rkyv",
"bytecheck",
]
serde = [
"dep:serde",
"dep:serde_bytes",
]
[lib]
name = "entropy_map"
path = "src/lib.rs"
[[example]]
name = "map_with_dict"
path = "examples/map_with_dict.rs"
[[example]]
name = "map_with_dict_bitpacked"
path = "examples/map_with_dict_bitpacked.rs"
[[example]]
name = "mphf"
path = "examples/mphf.rs"
[[example]]
name = "set"
path = "examples/set.rs"
[[bench]]
name = "map_with_dict"
path = "benches/map_with_dict.rs"
harness = false
required-features = ["rkyv_derive"]
[[bench]]
name = "map_with_dict_bitpacked"
path = "benches/map_with_dict_bitpacked.rs"
harness = false
required-features = ["rkyv_derive"]
[[bench]]
name = "mphf"
path = "benches/mphf.rs"
harness = false
required-features = ["rkyv_derive"]
[[bench]]
name = "rank"
path = "benches/rank.rs"
harness = false
[[bench]]
name = "set"
path = "benches/set.rs"
harness = false
required-features = ["rkyv_derive"]
[dependencies.bitpacking]
version = "0.9.2"
[dependencies.bytecheck]
version = "~0.6.8"
optional = true
default-features = false
[dependencies.num]
version = "0.4.1"
[dependencies.rkyv]
version = "0.7.42"
features = [
"validation",
"strict",
]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_bytes]
version = "0.11"
optional = true
[dependencies.wyhash]
version = "0.5.0"
[dev-dependencies.bitvec]
version = "1.0.1"
[dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]
[dev-dependencies.paste]
version = "1.0.14"
[dev-dependencies.proptest]
version = "1.4.0"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.rand_chacha]
version = "0.3.1"
[dev-dependencies.rkyv]
version = "0.7.42"
features = [
"validation",
"strict",
]
[dev-dependencies.rmp-serde]
version = "1.3"
[dev-dependencies.rmpv]
version = "1.3.1"
[dev-dependencies.test-case]
version = "3.3.1"
[profile.bench]
debug = 2
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 2