Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
100 lines (89 loc) · 3.52 KB
/
Copy pathCargo.toml
File metadata and controls
100 lines (89 loc) · 3.52 KB
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
[package]
name = "vector_db_benchmark"
version = "0.2.0"
edition = "2021"
# Embeds the git commit the binaries were built from (`--version`, and
# `params.build` in every result file). Logic: src/build_info/resolve.rs.
build = "build.rs"
[lib]
name = "vector_db_benchmark"
crate-type = ["lib"]
[dependencies]
redis = { version = "1", features = ["cluster"] }
rayon = "1.10"
half = "2.4"
indicatif = "0.18.4"
hdf5 = "0.8.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["raw_value"] }
ndarray = "0.16"
ndarray-npy = "0.9"
clap = { version = "4.5", features = ["derive", "env"] }
glob = "0.3"
chrono = "0.4"
reqwest = { version = "0.12", features = ["blocking", "json"] }
flate2 = "1"
tar = "0.4"
uuid = "1"
bzip2 = "0.5"
postgres = "0.19"
pgvector = { version = "0.4", features = ["postgres"] }
tokio = { version = "1", features = ["rt-multi-thread", "net", "time"] }
tonic = { version = "0.12", features = ["tls-native-roots"] }
prost = "0.13"
prost-types = "0.13"
qdrant-client = "1.17"
elasticsearch = "8.15.0-alpha.1"
opensearch = { version = "2.3.0", features = ["experimental-apis"] }
mongodb = { version = "3", features = ["sync"] }
turbopuffer-client = "0.0.4"
rand = "0.8"
# Digest for credential redaction (#212). A hand-written sanitiser leaked in
# seven of eight review rounds, and a real URL parser only moved the desync;
# every structured value is now hashed instead of rendered. Version pinned to
# the one already in the lock — "0.10" pulls in six extra crate versions.
sha2 = "0.11"
# CRC-32 (ISO-HDLC) for the uniform docid sampling of the MS MARCO variants. It
# must be bit-identical to Python's `zlib.crc32`, which is what the Redis
# Enterprise MS MARCO suite samples with — `crc32_bucket`'s tests pin that
# against vectors taken from zlib itself. Version pinned to the one already in
# the lock (pulled in transitively by flate2), so this adds no new crate.
crc32fast = "1.5"
hdrhistogram = "7.5"
base64 = "0.22"
# Only for `--features release-static` (the prebuilt release archives, #366):
# compile HDF5, zlib and OpenSSL from source and link them statically, so the
# archive runs on a host with no libhdf5 / libssl installed. Default builds
# (Docker image, `cargo build`, CI) do not enable it and keep linking the
# system libraries exactly as before. `hdf5-sys` and `openssl` are the versions
# the lock already resolves for the transitive copies; the feature adds four
# build-only crates to the lock (`hdf5-src`, `openssl-src`, `libz-sys`, `cmake`)
# and changes no existing version.
hdf5-sys = { version = "0.8.1", optional = true, features = ["static", "zlib"] }
libz-sys = { version = "1", optional = true, default-features = false, features = ["static"] }
# OpenSSL is reached through native-tls, which uses it on Linux and not on
# macOS (Security.framework). Named directly (no new crate: native-tls already
# pulls it in) so `params.build` can record the OpenSSL actually loaded, and
# so `release-static` can switch on the vendored copy, Linux-only.
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
openssl = "0.10"
[features]
default = []
release-static = ["dep:hdf5-sys", "dep:libz-sys", "openssl/vendored"]
[dev-dependencies]
tempfile = "3"
[[bin]]
name = "bench_jsonl"
path = "src/bin/bench_jsonl.rs"
[[bin]]
name = "bench_npy"
path = "src/bin/bench_npy.rs"
[[bin]]
name = "vector-db-benchmark"
path = "src/bin/vector_db_benchmark/main.rs"
[[bin]]
name = "generate-dataset"
path = "src/bin/generate_dataset.rs"
[[bin]]
name = "prepare-msmarco"
path = "src/bin/prepare_msmarco.rs"