[package] name = "lance-bench" version = "0.1.0" edition = "2024" # Standalone pilot for Phase B (see docs/EXECUTION_PLAN.md). # Deliberately NOT sharing workspace deps — Lance 4.x pulls in its own # DataFusion and Arrow versions incompatible with the rest of the stack. # Isolating the pilot means we don't force a workspace-wide upgrade until # we've decided Lance is worth it. [dependencies] # Only the features we actually need — the default brings in AWS/Azure/GCP/HF etc # which is ~200 extra crates we don't care about for a local pilot. lance = { version = "4.0", default-features = false } # Lance exposes DatasetIndexExt, IndexType, and IvfBuildParams through # its sub-crates which must be imported directly — lance itself doesn't # re-export them at a convenient path. lance-index = { version = "4.0", default-features = false } lance-linalg = { version = "4.0", default-features = false } # Arrow re-exported by Lance; pin to a range Lance picks so types match. arrow = "57" arrow-array = "57" arrow-schema = "57" # Also need to read the EXISTING Parquet vector files so we can compare. # These live in data/vectors/*.parquet. Lance's internal Parquet reading # might differ from ours; using our format's Arrow/Parquet versions for # the read side keeps the inputs identical. parquet = "57" tokio = { version = "1", features = ["full"] } futures = "0.3" serde = { version = "1", features = ["derive"] } serde_json = "1" anyhow = "1" bytes = "1" [[bin]] name = "lance-bench" path = "src/main.rs"