-
Notifications
You must be signed in to change notification settings - Fork 102
/
Cargo.toml
108 lines (90 loc) · 2.86 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[package]
name = "ahash"
version = "0.8.10"
authors = ["Tom Kaitchuck <[email protected]>"]
license = "MIT OR Apache-2.0"
description = "A non-cryptographic hash function using AES-NI for high performance"
documentation = "https://docs.rs/ahash"
repository = "https://github.com/tkaitchuck/ahash"
keywords = ["hash", "hasher", "hashmap", "aes", "no-std"]
categories = ["algorithms", "data-structures", "no-std"]
edition = "2018"
readme = "README.md"
build = "./build.rs"
exclude = ["/smhasher", "/benchmark_tools"]
rust-version = "1.60.0"
[lib]
name = "ahash"
path = "src/lib.rs"
test = true
doctest = true
bench = true
doc = true
[features]
default = ["std", "runtime-rng"]
# Enabling this will enable `AHashMap` and `AHashSet`.
std = []
# Runtime random key generation using getrandom.
runtime-rng = ["getrandom"]
# This is an alternative to runtime key generation which does compile time key generation if runtime-rng is not available.
# (If runtime-rng is enabled this does nothing.)
# If this is on (and runtime-rng is off) it implies the produced binary will not be identical.
# If this is disabled and runtime-rng is unavailable constant keys are used.
compile-time-rng = ["const-random"]
# Do not use any random number generator (either at compile time or runtime)
# If either runtime-rng or compile-time-rng are enabled this does nothing.
no-rng = []
# in case this is being used on an architecture lacking core::sync::atomic::AtomicUsize and friends
atomic-polyfill = [ "dep:portable-atomic", "once_cell/critical-section"]
# Nightly-only support for AES intrinsics on 32-bit ARM
nightly-arm-aes = []
[[bench]]
name = "ahash"
path = "tests/bench.rs"
harness = false
[[bench]]
name = "map"
path = "tests/map_tests.rs"
harness = false
[profile.test]
opt-level = 2
lto = 'fat'
[profile.release]
opt-level = 3
debug = false
lto = 'fat'
debug-assertions = false
codegen-units = 1
[profile.bench]
opt-level = 3
debug = false
lto = 'fat'
debug-assertions = false
codegen-units = 1
[build-dependencies]
version_check = "0.9.4"
[dependencies]
const-random = { version = "0.1.17", optional = true }
serde = { version = "1.0.117", optional = true }
cfg-if = "1.0"
portable-atomic = { version = "1.0.0", optional = true }
getrandom = { version = "0.2.7", optional = true }
zerocopy = { version = "0.7.31", default-features = false, features = ["simd"] }
[target.'cfg(not(all(target_arch = "arm", target_os = "none")))'.dependencies]
once_cell = { version = "1.18.0", default-features = false, features = ["alloc"] }
[dev-dependencies]
no-panic = "0.1.10"
criterion = {version = "0.3.2", features = ["html_reports"] }
seahash = "4.0"
fnv = "1.0.5"
fxhash = "0.2.1"
hex = "0.4.2"
rand = "0.8.5"
pcg-mwc = "0.2.1"
serde_json = "1.0.59"
hashbrown = "0.14.3"
smallvec = "1.13.1"
[package.metadata.docs.rs]
rustc-args = ["-C", "target-feature=+aes"]
rustdoc-args = ["-C", "target-feature=+aes"]
features = ["std"]