Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

DEG Examples

This directory contains standalone Python projects demonstrating various features and benchmark workflows of the Dynamic Exploration Graph (DEG).

Each directory inside examples/ is a self-contained uv project with its own pyproject.toml.

Note

All runtime and throughput results published in our papers were evaluated using the native C++ implementation (cpp/). Due to language bindings and runtime dynamics, Python executions may have a small overhead.

Prerequisites & UV Setup

We use uv for fast Python environment and dependency management.

1. Install uv

  • macOS / Linux:
    curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows (PowerShell):
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • Via Pip:
    pip install uv

2. Environment Setup

Navigating into any example directory and running uv sync or uv run will automatically set up a isolated Python virtual environment, build the local deglib C++ bindings, and install all required dependencies:

cd examples/knng
uv sync

# If C++ code or pybind11 bindings were modified, force rebuilding the extension:
uv sync --reinstall-package deglib

Projects

  • graph_2d: interactive 2D explorer — builds a DEG on a synthetic cloud, traces a traversal on screen and compares the result against the Delaunay graph, RNG and MRNG.
  • knng: k-Nearest Neighbor Graph (k-NNG) construction benchmark using EVP quantization and FP16 reranking (SISAP 2026 Challenge Task 1).
  • mips: Maximum Inner Product Search (MIPS) benchmark using $(d+1)$-dimensional $L_2$ transformation, FLAS pre-sorting, and SIMD FP16 inner products (SISAP 2026 Challenge Task 2).
  • static_data: DEG paper search benchmark reproduction (Recall vs. QPS) on static datasets (sift1m, deep1m, glove-100, audio, enron).
  • vibe: Vector Index Benchmark for Embeddings (VIBE) ANNS top-100 benchmark on modern embedding datasets (agnews-mxbai, arxiv-nomic, landmark-dino, msmarco-qwen, gooaq-distilroberta, laion-clip, imagenet-align, imagenet-clip, yandex, yahoo-minilm).
  • dynamic_data: DEG dynamic data streaming benchmark (AddHalf, AddHalfRemoveAndAddOneAtATime, AddAllRemoveHalf).
  • sliding_window: DEG sliding window benchmark reproducing the dynamic continuous update experiment against DEG from the CleANN paper.