Skip to main content
benchmarkedInspired by Carrion scent propagation + bat echolocation

Echo Field

Counterpart to HNSW + IVF vector index (FAISS, Milvus)

Key Properties

  • O(L x log B) insert via multi-resolution LSH (L = levels, B = bucket size)
  • O(1) delete via resolver removal; no graph repair needed
  • Per-query adaptive budget via confidence-driven echolocation beam
  • Natural temporal decay without explicit deletion or index rebuild
  • Mutualistic composition: scent field (data deposit) + echolocation (query navigation) interact through shared gradient
  • 5-10x DRAM reduction potential at billion-vector scale

Operation Complexity

Side-by-side comparison with the classical counterpart.

Operation complexity comparison
OperationEcho FieldHNSW + IVF vector index (FAISS, Milvus)
insertO(L x log B)O(M x log N) (HNSW)
deleteO(1)O(M x log N)
queryAdaptive (confidence-driven)O(log N x ef)
memorySub-linear (scent compression)Linear (HNSW graph)

Interface Preview

echo_field.rs
rust
1pub struct ScentField { /* ... */ }
2
3impl ScentField {
4    pub fn new(config: ScentFieldConfig) -> Result<Self, EchoFieldError>;
5
6    // Core operations
7    pub fn insert(&mut self, vid: VectorId, vector: Vec<f32>) -> Result<(), EchoFieldError>;
8    pub fn delete(&mut self, vid: VectorId) -> Result<(), EchoFieldError>;
9    pub fn query(&self, vector: &[f32], k: usize) -> Result<Vec<(VectorId, f32)>, EchoFieldError>;
10
11    // Size & Memory
12    pub fn len(&self) -> usize;
13    pub fn is_empty(&self) -> bool;
14    pub fn memory_usage(&self) -> MemoryReport;
15}
16
echo_field.ts
typescript
1class EchoField {
2  constructor(options: EchoFieldOptions);
3  async init(): Promise<EchoField>;
4
5  // Core operations
6  insert(id: number, vector: Float32Array | number[]): void;
7  delete(id: number): void;
8  query(vector: Float32Array | number[], k: number): SearchResult[];
9
10  // Size & Memory
11  readonly length: number;
12  readonly isEmpty: boolean;
13  readonly memoryBytes: number;
14  memoryReport(): MemoryReport;
15}
16

Where This Matters

FAISS

HNSW + IVF Index

Improvement comparison
TodayWith Echo FieldHow
O(M x log N) delete requiring graph repairO(1) delete via resolver removalScent entries decay naturally; no graph edges to repair
Fixed search budget per queryPer-query adaptive budgetEcholocation confidence drives beam width (narrow on strong signals, wide on weak)
Periodic index rebuild for tombstone cleanupNatural temporal decay via tick()Scent entries weaken over time; stale data fades without explicit cleanup

Interactive Simulation

Simulation coming soon

An interactive visualization of Echo Field behavior will be available here.

View all simulations

Discussion

Questions, ideas, or experiences with Echo Field? Join the discussion.