m12p1 (measurement truth): TidalDb::vector_search_items pure k-NN probe + POST /vector_search (standalone + region node, merge-by-distance) + tidal-stress --verify-recall (deterministic id-keyed corpus, in-RAM brute-force cosine oracle, open-loop ramp → recall@k + true p99 + read-knee + JSON/gate exit). Repaired fabricated p99 columns (mean-as-p99) in social-scale.md / scale.rs. Verified real: recall@10=0.9997 at 20k/1536-D vs brute-force. m12p2 (G1 unblock): ANN candidate-gen wired into RETRIEVE — for_you=preference vector, related=seed embedding (similar_to), graceful scan-fallback. Cached per-signal-type top-K (signals/ledger/hot_top_k.rs, decay-order-invariant) so trending serves O(K). related over HTTP (FeedQuery.similar_to). Harness gains --feed-profile / --seed-preferences. Verified: trending retrieve p99 3.5-7.7ms. m12p3 (G2): per-query ef_search now honored (RwLock epoch-guard with_expansion, shared guard for same-ef concurrency) + dimension-aware brute→HNSW crossover usearch_min_vectors(dim) + memory_usage() + examples/ann_grid_search.rs. Measured 1536-D/100k clustered: default M=16/ef_c=400/F16/ef_s=200 clears G1+G2 (recall 0.997, p99 1.4ms); F16 -0.25% vs F32; Int8 rejected (-28%). Recall corpus is now clustered (Gaussian mixture) in grid + harness.
18 lines
620 B
Rust
18 lines
620 B
Rust
//! `tidal-stress` library surface.
|
|
//!
|
|
//! The crate is a binary (the `tidal-stress` load generator), but its hot paths
|
|
//! — request construction ([`workload`]) and latency aggregation ([`metrics`]) —
|
|
//! are exposed here so `benches/` can drive them directly and measure the
|
|
//! generator's own per-request cost in isolation (no server, no network), which
|
|
//! is the only honest way to answer "is this allocation material?".
|
|
//!
|
|
//! `main.rs` is the thin CLI binary that consumes this surface.
|
|
|
|
pub mod client;
|
|
pub mod error;
|
|
pub mod metrics;
|
|
pub mod recall;
|
|
pub mod scheduler;
|
|
pub mod summary;
|
|
pub mod workload;
|