ptr_hash 2.0.0

A high-throughput minimal perfect hash function
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "ptr_hash"
version = "2.0.0"
authors = ["Ragnar Groot Koerkamp"]
build = false
include = [
    "src/**/*",
    "examples/*",
    "readme.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-throughput minimal perfect hash function"
homepage = "https://curiouscoding.nl/posts/ptrhash"
readme = "readme.md"
keywords = [
    "hashing",
    "minimal",
    "perfect",
    "mphf",
]
categories = [
    "data-structures",
    "science",
]
license = "MIT"
repository = "https://github.com/RagnarGrootKoerkamp/ptrhash"

[features]
cacheline-ef = ["dep:cacheline-ef"]
clap = ["dep:clap"]
default = [
    "elias-fano",
    "cacheline-ef",
    "gxhash",
]
elias-fano = ["dep:sucds"]
epserde = [
    "dep:epserde",
    "dep:epserde-derive",
    "cacheline-ef/epserde",
]
gxhash = ["dep:gxhash"]
hashers = [
    "dep:cityhash-102-rs",
    "dep:fastmurmur3",
    "dep:hashers",
    "dep:highway",
    "dep:metrohash",
    "dep:murmur2",
    "dep:murmur3",
    "dep:wyhash",
]
unstable = []

[lib]
name = "ptr_hash"
path = "src/lib.rs"

[[example]]
name = "epserde"
path = "examples/epserde.rs"
required-features = ["epserde"]

[[example]]
name = "evals"
path = "examples/evals.rs"
required-features = [
    "elias-fano",
    "cacheline-ef",
    "gxhash",
]

[[example]]
name = "large_bench"
path = "examples/large_bench.rs"
required-features = ["elias-fano"]

[[example]]
name = "query_bench"
path = "examples/query_bench.rs"
required-features = ["elias-fano"]

[[example]]
name = "string_keys"
path = "examples/string_keys.rs"
required-features = [
    "elias-fano",
    "gxhash",
]

[dependencies.bitvec]
version = "1.0.1"

[dependencies.cacheline-ef]
version = "1.1.0"
optional = true

[dependencies.cityhash-102-rs]
version = "0.1.0"
optional = true

[dependencies.clap]
version = "4.4.6"
features = ["derive"]
optional = true

[dependencies.colored]
version = "3.0.0"

[dependencies.epserde]
version = "0.13.0"
optional = true

[dependencies.epserde-derive]
version = "0.13.0"
optional = true

[dependencies.fastmurmur3]
version = "0.2.0"
optional = true

[dependencies.fastrand]
version = "2.0.1"

[dependencies.fxhash]
version = "0.2.1"

[dependencies.gxhash]
version = "3.5.0"
optional = true

[dependencies.hashers]
version = "1.0.1"
optional = true

[dependencies.highway]
version = "1.1.0"
optional = true

[dependencies.itertools]
version = "0.15.0"

[dependencies.log]
version = "0.4.27"

[dependencies.mem_dbg]
version = "0.4.2"

[dependencies.metrohash]
version = "1.0.6"
optional = true

[dependencies.murmur2]
version = "0.1.0"
optional = true

[dependencies.murmur3]
version = "0.5.2"
optional = true

[dependencies.prefetch-index]
version = "0.2.1"

[dependencies.rand]
version = "0.10.2"

[dependencies.rand_chacha]
version = "0.10.0"

[dependencies.rayon]
version = "1.8.0"

[dependencies.rdst]
version = "0.20.11"

[dependencies.serde]
version = "1.0.215"
features = ["derive"]

[dependencies.sucds]
version = "0.8.0"
optional = true

[dependencies.tempfile]
version = "3.8.1"

[dependencies.wyhash]
version = "0.6.0"
optional = true

[dependencies.xxhash-rust]
version = "0.8.7"
features = [
    "xxh64",
    "xxh3",
]

[dev-dependencies.env_logger]
version = "0.11.7"

[dev-dependencies.serde_json]
version = "1.0.133"

[profile.release]
lto = "thin"
debug = 2
incremental = true