-
Notifications
You must be signed in to change notification settings - Fork 439
Expand file tree
/
Copy pathCargo.toml
More file actions
128 lines (118 loc) · 3.72 KB
/
Copy pathCargo.toml
File metadata and controls
128 lines (118 loc) · 3.72 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT license.
[workspace]
resolver = "3"
members = [
# Base and Numerics
"diskann-wide",
"diskann-vector",
"diskann-linalg",
"diskann-utils",
"diskann-quantization",
# Algorithm
"diskann",
# Providers
"diskann-providers",
"diskann-disk",
"diskann-label-filter",
"diskann-garnet",
"diskann-inmem",
# Infrastructure
"diskann-benchmark-runner",
"diskann-benchmark-core",
"diskann-benchmark-simd",
"diskann-benchmark",
"diskann-record",
"diskann-tools",
"diskann-bftree",
]
default-members = [
"diskann-wide",
"diskann-vector",
"diskann-quantization",
"diskann-utils",
"diskann",
]
exclude = ["vectorset"]
[workspace.package]
version = "0.55.0" # Obeying semver
description = "DiskANN3 is a composable library for bringing scalable, accurate and cost-effective vector indexing to multiple databases."
authors = ["Microsoft"]
repository = "https://github.com/microsoft/DiskANN"
license = "MIT"
edition = "2021"
[workspace.lints.clippy]
undocumented_unsafe_blocks = "warn"
[workspace.dependencies]
# Base And Numerics
diskann-wide = { path = "diskann-wide", version = "0.55.0" }
diskann-vector = { path = "diskann-vector", version = "0.55.0" }
diskann-linalg = { path = "diskann-linalg", version = "0.55.0" }
diskann-utils = { path = "diskann-utils", default-features = false, version = "0.55.0" }
diskann-quantization = { path = "diskann-quantization", default-features = false, version = "0.55.0" }
# Algorithm
diskann = { path = "diskann", version = "0.55.0" }
# Providers
diskann-providers = { path = "diskann-providers", default-features = false, version = "0.55.0" }
diskann-inmem = { path = "diskann-inmem", default-features = false, version = "0.55.0" }
diskann-disk = { path = "diskann-disk", version = "0.55.0" }
diskann-label-filter = { path = "diskann-label-filter", version = "0.55.0" }
# Infra
diskann-benchmark-runner = { path = "diskann-benchmark-runner", version = "0.55.0" }
diskann-benchmark-core = { path = "diskann-benchmark-core", version = "0.55.0" }
diskann-tools = { path = "diskann-tools", version = "0.55.0" }
diskann-bftree = { path = "diskann-bftree", version = "0.55.0" }
diskann-record = { path = "diskann-record", version = "0.55.0" }
# External dependencies (shared versions)
anyhow = "1.0.98"
approx = "0.5.1"
arc-swap = "1.7.1"
bf-tree = "0.5"
bincode = "1.3.3"
bit-set = "0.8.0"
bytemuck = "1.23.0"
byteorder = "1.5.0"
cfg-if = "1.0.0"
clap = "4.5.45"
criterion = "0.5.1"
dashmap = "6.1.0"
futures-util = { version = "0.3.31", default-features = false }
half = "2.6.0"
hashbrown = "0.16.0"
iai-callgrind = "0.14.0"
itertools = "0.13.0"
num-traits = "0.2.15"
num_cpus = "1.16.0"
opentelemetry = "0.32.0"
opentelemetry_sdk = "0.32.1"
paste = "1.0.15"
pin-project = "1.1.8"
proptest = "1.6.0"
rand = "0.9.3"
rand_distr = "0.5"
rayon = "1.10.0"
roaring = "0.11.2"
rstest = "0.23.0"
serde = "1.0.228"
serde_json = "1.0.142"
tempfile = "3.20.0"
thiserror = "2.0.12"
tokio = "1.48.0"
tracing = "0.1.40"
tracing-subscriber = "0.3.20"
vfs = "0.12.1"
[profile.release]
opt-level = 3
codegen-units = 1
debug = true
split-debuginfo = "packed"
# Much of our code relies on inlining and at least moderate optimizations to run in a
# reasonable time. Setting `opt-level=1` decreases end-to-end test execution significantly
# without blowing up compile times.
#
# Since `profile.test` inherits from `profile.dev` - debug assertions, overflow checks,
# and such are still applied.
#
# See: https://doc.rust-lang.org/cargo/reference/profiles.html#test
[profile.test]
opt-level = 1