Reference

Benchmarks

This page reports measured GCTRL numbers alongside published, cited figures for other systems on the same public datasets. The competitor numbers are quoted from the literature (their own papers), on the same benchmark data - they are not head-to-head runs we performed. Where we say "published," read it literally.

Honesty note: direct head-to-head runs against other GraphRAG systems - LightRAG, Microsoft GraphRAG, Graphiti - are in progress and not reported here. The entity-linking comparisons below are GCTRL's measured results placed next to each competitor's published result on the same standard dataset, not a contest we ran end-to-end.


Entity Linking - DBLP-ACM

Standard entity-resolution benchmark (bibliographic record matching).

SystemF1TrainingSource
GCTRL0.97None (unsupervised, zero training), with blockingMeasured
Ditto≈ 0.989SupervisedPublished (cited)
DeepMatcher≈ 0.985SupervisedPublished (cited)

The point: GCTRL reaches ~0.97 with no training data at all. The supervised systems edge slightly higher but require labeled training pairs; GCTRL gets within striking distance of that quality cold, with blocking for efficiency.


Entity Linking - Abt-Buy

Noisy e-commerce product matching - a deliberately hard benchmark (messy titles, inconsistent attributes).

SystemF1TrainingSource
GCTRL0.866None (unsupervised), local embeddingsMeasured
Ditto≈ 0.891Supervised (SOTA)Published (cited)
DeepMatcher≈ 0.628SupervisedPublished (cited)
Classic string baseline≈ 0.48NonePublished (cited)

The point: GCTRL hits 0.866 with zero training and fully local embeddings - far above the classic string baseline (≈ 0.48) and the published DeepMatcher number (≈ 0.628), and within range of the supervised SOTA Ditto (≈ 0.891). Near-supervised quality, no training, nothing leaves the machine.


Entity Detection (NER)

Detection-recall - did GCTRL find the entity at all, independent of getting its type exactly right - measured against a hand-adjudicated gold set.

MetricValueSetup
Detection-recall0.978Bilingual (DE/EN) 32-document business-document gold set, zero-shot GLiNER + format pre-pass
Typing accuracy0.95Same gold set, entities the pipeline actually detected

Setup: 32 adjudicated business documents, German and English, scored against GCTRL's faithful NER output (entity_mentions) - not the post-fusion canonical graph. Zero-shot: no per-customer or per-domain training. For context, frontier cloud LLMs score ~0.85 recall on comparable public NER benchmarks (per the GLiNER2 EMNLP 2025 comparison and CrossNER).

Honest methodology note: 32 documents is a lean gold set - treat this as a directional result, not a large-sample guarantee. Detection-recall is scored as the primary NER gate because a missed entity can never be recovered downstream (typing and relation extraction only operate on what NER detected); typing accuracy is the secondary metric, scored only on entities that were actually found.


Retrieval Latency (Agent Memory Access)

How fast an agent can read from GCTRL's memory.

MetricValue
p50 (overall)7-27 ms
p95 (overall)sub-50 ms
Graph entity-search p50~7 ms
Vector source-text search p50~44 ms

Graph entity lookups are the fast path (~7 ms p50); vector source-text search is the slower path (~44 ms p50). Even so, p95 stays under 50 ms end-to-end - fast enough to sit inside an agent's reasoning loop without becoming the bottleneck.


Access-Control Overhead ≈ 0 ms

Enforcing clearance and grants on every query costs effectively nothing.

Tokenp50 latency
Full-clearance tokenbaseline
Public (restricted) token~0.1 ms difference

A full-clearance token and a public token differ by roughly 0.1 ms at p50. Compliance is effectively free - you do not trade latency for the audit trail and clearance enforcement described on the Access Control and Compliance pages.


Matching-Engine Throughput

MetricValue
Scalingsub-quadratic, ~O(n^1.5)
Candidate generation~2,750 entities/sec
End-to-end ingest~220 entities/sec

The matching engine scales sub-quadratically (~O(n^1.5)) and generates candidates at ~2,750 entities/sec. End-to-end ingest runs at ~220 entities/sec, and that ceiling is bound by graph-write speed - not the matching engine. The matcher is comfortably ahead of the write path.


Vector Store Is Swappable (Qdrant Note)

Vector search is the slowest retrieval step - ~44 ms p50 versus ~7 ms for graph entity-search. GCTRL uses Qdrant for vector search by default, and Qdrant is swappable. Point GCTRL at a faster vector store and you cut the slowest part of query latency directly. The graph path is already fast; the vector path is where there is headroom.

See FAQ / Troubleshooting for how to point GCTRL at your own vector store via Settings → Infrastructure.


Summary

AreaResultFraming
DBLP-ACM ELF1 0.97, zero trainingvs published supervised SOTA ≈ 0.985-0.989
Abt-Buy ELF1 0.866, zero training, localvs published baseline ≈ 0.48, DeepMatcher ≈ 0.628, Ditto ≈ 0.891
Entity detection (NER)detection-recall 0.978, typing 0.95, zero-shotvs ~0.85 recall for frontier cloud LLMs on comparable public NER benchmarks
Retrieval latencyp50 7-27 ms, p95 < 50 msgraph ~7 ms, vector ~44 ms
Access-control overhead~0.1 ms p50compliance is effectively free
Matching throughput~2,750 entities/sec candidatessub-quadratic ~O(n^1.5)
Ingest throughput~220 entities/secbound by graph-write, not matching

GraphRAG head-to-heads (LightRAG, Microsoft GraphRAG, Graphiti) are in progress and will be added when complete.


See also

  • Access Control & Multi-Tenancy - the clearance and grant model whose overhead is ~0 ms.
  • Compliance & Data Sovereignty - local inference and audit trail behind these local-only numbers.