Files
ruvnet--RuView/v2/crates/wifi-densepose-ruvector/Cargo.toml
T
ruv a92b043143 perf(ruvector): eliminate fuse() double-clone (~2.17x marshalling) + bench (ADR-156 §2.4, §4)
MultistaticArray::fuse / fuse_ungated cloned every viewpoint embedding twice per
fusion (once into `extracted`, again when building the attention input). Now the
embeddings are MOVED out of `extracted` (one clone per viewpoint instead of two),
capturing geometry/ids by Copy in the same pass. Correctness-neutral — all 100
viewpoint/mat lib tests pass unchanged.

MEASURED (new benches/fusion_bench.rs, embedding_extract A/B, 8 vp x 128-d):
  before_double_clone 1.0029 us -> after_single_clone 461.6 ns  (~2.17x)
End-to-end fusion_pipeline (8 vp): 202 us — marshalling is <1% of fusion
(n*n attention dominates), so end-to-end win is modest; the A/B isolates the
clone elimination. Reproduce:
  cargo bench -p wifi-densepose-ruvector --bench fusion_bench

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-06-11 20:23:27 -04:00

50 lines
1.5 KiB
TOML

[package]
name = "wifi-densepose-ruvector"
version = "0.3.1" # ADR-138: ClockQualityGate / clock-quality coherence gate
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "RuVector v2.0.4 integration layer — ADR-017 signal processing and MAT ruvector integrations"
repository.workspace = true
keywords = ["wifi", "csi", "ruvector", "signal-processing", "disaster-detection"]
categories = ["science", "computer-vision"]
readme = "README.md"
[features]
default = []
crv = ["dep:ruvector-crv", "dep:ruvector-gnn", "dep:serde", "dep:serde_json"]
[dependencies]
ruvector-core = { workspace = true }
ruvector-mincut = { workspace = true }
ruvector-attn-mincut = { workspace = true }
ruvector-temporal-tensor = { workspace = true }
ruvector-solver = { workspace = true }
ruvector-attention = { workspace = true }
ruvector-crv = { workspace = true, optional = true }
ruvector-gnn = { workspace = true, optional = true }
thiserror = { workspace = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
# ADR-084 Pass 5 — privacy-preserving event log uses SHA-256 to
# anchor each stored sketch as a content-addressable witness hash.
sha2 = { workspace = true }
[dev-dependencies]
approx = "0.5"
criterion = { workspace = true }
[[bench]]
name = "crv_bench"
harness = false
required-features = ["crv"]
[[bench]]
name = "sketch_bench"
harness = false
[[bench]]
name = "fusion_bench"
harness = false