Benchmark

Nicht vertrauen.
Überprüfen.

Führe lean-ctx benchmark run in jedem Projekt aus. Echte Token-Zählungen. Echte Genauigkeitsmetriken. Gemessen mit tiktoken (o200k_base).

Warum du den Zahlen trauen kannst

Gemessen. Verifiziert.

Der Benchmark läuft lokal, zählt Tokens mit dem exakten Tokenizer und verwirft Kompressionen, die unter die Qualitätsgrenze fallen.

Exakte Token-Zählung

Zählt mit demselben Tokenizer wie moderne LLMs - keine Schätzungen, kein Rätselraten.

tiktoken o200k_base

Quality Guard

Bewertet AST-Erhaltung, Bezeichner und Zeilenstruktur. Fehlende Ausgaben werden automatisch blockiert.

Schwelle: Q ≥ 95% · ρ ≥ 15%

Reproduzierbar

Läuft auf deinem Repo. Gleiche Inputs → gleiche Zahlen. Perfekt für CI und Regressionen.

offline · deterministisch
See the difference

Before & After

The same file. The same information. Dramatically fewer tokens.

Without lean-ctx
// src/auth.ts · mode=full
import { jwt, verify, sign } from 'jsonwebtoken';
import { bcrypt } from 'bcryptjs';
3,517 tokens
With lean-ctx (map mode)
// src/auth.ts · mode=map
exports: AuthService, validateToken, …
deps: jsonwebtoken, bcryptjs, ioredis
412 tokens

88% fewer tokens

Drei Schritte zu verifizierten Einsparungen

So funktioniert's

01

Auf Datei oder Verzeichnis zeigen

Übergib eine einzelne Datei, ein Verzeichnis oder ein Glob-Muster. Die Benchmark-Engine verarbeitet alles, was sie findet.

lean-ctx benchmark run src/
02

Exakte Token-Messung

Verwendet tiktoken mit dem o200k_base-Encoding (dasselbe wie GPT-4o, Claude und moderne LLMs). Keine Schätzungen - echte Token-Zählungen.

tiktoken o200k_base
03

Einsparungen pro Modus

Erhalte Genauigkeitswerte und Einsparungs-Prozentsätze für jeden Kompressionsmodus. Wähle den richtigen Modus für jeden Anwendungsfall.

modes: 10
Echte Ausgabe

Benchmark in Aktion

Führe den Benchmark auf jeder Datei in deinem Projekt aus. Die Ausgabe zeigt exakte Token-Zählungen für jeden Kompressionsmodus, Einsparungsprozentsatz und Qualitätserhaltungswerte.

Aufschlüsselung pro Datei - Tokens vor und nach jedem Modus

Qualitätswerte - AST-, Bezeichner- und Code-Zeilen-Erhaltung

Aggregierte Gesamtwerte - Verzeichnisweite Einsparungen mit Empfehlung für den besten Modus

lean-ctx benchmark run

$ lean-ctx benchmark run src/auth.ts

◆ lean-ctx Benchmark

────────────────────────────────────────

src/auth.ts (123 lines, 3,517 tokens)

────────────────────────────────────────

Mode Tokens Saved Rate

full 3,517 0 0%

map 412 3,105 88%

signatures 252 3,265 93%

diff 187 3,330 95%

aggressive 298 3,219 92%

entropy 312 3,205 91%

────────────────────────────────────────

Quality: AST 98% | Idents 97% | Lines 96%

Encoding: tiktoken o200k_base | Time: 12ms

Den richtigen Modus für jede Aufgabe wählen

Lesemodi im Vergleich

full 0%

Dateien, die du bearbeiten wirst

Alles - voller Inhalt gecacht für Wiederholungslesungen mit ~13 Tokens

map 70–88%

Nur-Kontext-Dateien

Abhängigkeitsgraph, Exports, Schlüsselsignaturen

signatures 55–93%

API-Oberflächen-Exploration

Nur Funktions-/Klassen-/Typ-Signaturen

diff 80–95%

Nach Bearbeitungen

Geänderte Zeilen mit minimalem umgebendem Kontext

aggressive 75–90%

Grosse Boilerplate-Dateien

Struktur und Logik, Syntax entfernt

entropy 70–83%

Verrauschte Dateien (JSDoc, Kommentare)

Nur Zeilen mit hoher Entropie (Shannon + Jaccard-Filterung)

task 65–85%

Task-focused reads (e.g. 'fix auth bug')

Task-relevant code + dependency context via Knowledge Graph + IB filter

auto 70–99%

Standard - lean-ctx wählt automatisch den besten Modus

Passt sich pro Datei an: Typ, Grössen-Bucket, Aktualität, Task-Relevanz

reference 80–95%

API-Dokumentation & Referenz-Lookup

Public API, Typen, Signaturen, Docstrings

lines:N-M 90–99%

Bestimmten Zeilenbereich lesen - chirurgische Präzision

Exakte Zeilen, plus minimaler Kontext

lean-ctx' ctx_smart_read wählt automatisch den optimalen Modus mittels Bayesscher Vorhersage basierend auf Dateityp, Grösse und Kontext.

Stage

Advanced Compression Pipeline

Beyond mode selection, lean-ctx applies a multi-stage optimization pipeline that adapts to file type, session context, and task intent:

Thompson Sampling 5–15%

Learns optimal compression thresholds per file type using multi-armed bandit exploration (explore vs exploit)

AST Pruning 40–70%

Language-aware pruning via Tree-sitter - removes function bodies, comments, and boilerplate while preserving API signatures

IDF Dedup 10–30%

Cross-file deduplication using inverse document frequency - eliminates content already seen in the session

IB Filter 15–25%

Task-aware filtering using the Information Bottleneck principle - keeps only content relevant to the current task

Verbatim Compaction 5–20%

Collapses repetitive structures (imports, log lines, boilerplate) into counted summaries

These stages are cumulative - applied in sequence, they can reduce a 1000-line file to under 50 tokens while preserving all task-relevant information. The pipeline is fully automatic and requires no configuration.

Verifizierte Erhaltung

Kompressions- Qualität

Qualitätsschwelle (Composite)

95%

Komprimierte Ausgabe wird nur genutzt, wenn der Composite-Quality-Score bei mindestens 95% liegt.

Minimale Dichte

15%

Blockiert inhaltsarme Ausgaben mit einer minimalen Signaldichte von 15% (ρ).

Gewichtung

50/30/20

Composite = AST 50% + Bezeichner 30% + Zeilen 20% - Struktur zählt am meisten.

Prinzip der Informationsdichte

Warum weniger Tokens = höhere Signaldichte

LLMs haben ein festes Aufmerksamkeitsbudget. Jeder Token im Kontextfenster konkurriert um Aufmerksamkeitsgewichte. Das Fenster mit Boilerplate zu füllen bedeutet weniger Aufmerksamkeit für den Code, der wirklich zählt.

Indem Rauschen entfernt wird, bevor es das Modell erreicht, erhöht lean-ctx die Informationsdichte jeder Anfrage. Das Ergebnis: höheres Signal-Rausch-Verhältnis, weniger Kontext-Verwässerung und das Modell bleibt innerhalb nützlicher Kontextgrenzen.

Höheres Signal-Rausch-Verhältnis

10K Tokens fokussierter Kontext übertreffen 200K Boilerplate. Das Modell richtet seine Aufmerksamkeit auf Logik, nicht auf JSDoc-Kommentare und Import-Boilerplate.

Reduziertes Kontext-Rauschen

Kontext-Rauschen verwässert das Aufmerksamkeitsfenster des Modells. Es zu entfernen hilft dem Modell, sich an der tatsächlichen Code-Struktur zu orientieren und reduziert die Wahrscheinlichkeit von Halluzinationen.

Niedrigere Kosten pro Antwort

Weniger Input-Tokens bedeuten niedrigere API-Kosten und mehr Nachrichten innerhalb deines Rate-Limits. Dasselbe Kontingent reicht weiter - für jedes AI-Tool, das du nutzt.

Real-world examples

Measured on Real Code

Repräsentative Snapshots - deine Zahlen variieren je nach Datei und Codebase.

React Component 88%

450 lines - map mode

12,840 → 1,541
Rust Module 93%

820 lines - signatures mode

18,290 → 1,280
Express API 91%

1,200 lines - aggressive mode

31,500 → 2,835
Python ML Pipeline 83%

680 lines - entropy mode

15,400 → 2,618
TypeScript Config 95%

340 lines - diff mode

8,750 → 437
Transparency

Benchmark
Methodology

Every number on this page is reproducible. Here's exactly how we measure.

Tokenizer

All token counts use tiktoken with the o200k_base encoding — the same tokenizer used by GPT-4o, Claude, and modern LLMs. No estimates or approximations.

Quality Threshold

Compressed output is only used if the composite quality score stays at or above 95%. Composite = AST preservation (50%) + identifier preservation (30%) + line coverage (20%).

Reproduce Locally

Run lean-ctx benchmark run src/ on your own codebase. The output shows exact token counts for each compression mode, savings percentage, and quality preservation scores.

Disclaimer

Results vary by file type, size, language, and read mode. The "60-99%" range reflects real-world variance: small structured files compress more, large unstructured files compress less. Cached re-reads (~13 tokens) represent the best case.

Miss deine tatsächlichen Einsparungen.

Installiere lean-ctx und führe benchmark run auf deiner Codebase aus. Echte Zahlen, deine Dateien, deine Einsparungen.

lean-ctx benchmark run src/

Works on any codebase. No config needed. Results in seconds.