CAPCOM-TD-OSS / REDox
git clone https://github.com/CAPCOM-TD-OSS/REDox.git
v1.0.3 · 4d ago
High-performance, token-based structured data engine for .NET. A core component of REX, the technology behind CAPCOM's next-generation game engine.
—
stars, 24h
—
stars, 7 days
+1.7k
stars, 30 days · #192
1.7k
★ total
63
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC#
LicenseApache-2.0
Created2026-09-30 (20d ago)
Last push1d ago
Watchers20
OwnerOrganization
Links
README excerpt
# RE:Dox ## 1. What is RE:Dox? **RE:Dox** is a high-performance, token-based structured data engine for .NET, developed as one of the core components of **'REX' Technology** for CAPCOM's next-generation game engine. RE:Dox is not just a JSON serializer. It parses structured data into a compact, fixed-size **token DOM / IR**, then uses that structural index for reading, editing, format conversion, serialization, deserialization, and automatic parallel deserialization. [code] The same token representation acts as both a compact parsed document model and a common structural layer shared by serializers, converters, and supported formats. ## 2. Why should I care? RE:Dox combines three goals that usually conflict: * the **parse speed of a tape DOM** (`System.Text.Json.JsonDocument`), * the **editability of a node DOM** (`System.Text.Json.Nodes.JsonNode`), * the **flexibility of `Newtonsoft.Json`** (position-independent `$type`, `$id` / `$ref`, out-of-order constructor binding). What you get: * **High-performance serialization and deserialization** — on the benchmark datasets below, up to **~1.8x** faster sequential deserialization, up to **~2.8x** faster automatic parallel deserialization, and up to **~1.6x** faster serialization than System.Text.Json. * **Lower allocation on tested workloads** — for example, `canada.json` deserializes with about **2.56 MB** allocated by RE:Dox versus about **8.53 MB** by System.Text.Json. JSON, JSON5, CBOR, MessagePack, INI, and DOX are integrated with the core model; TOML, XML, HTML, and CSV are currently preview components. * **One converter model across formats** — `DataConverter ` targets the format-agnostic `DataReader` / `DataWriter` abstractions instead of a specific wire format. * **Mutable token DOM** — edit objects and arrays without replacing the document with a heavyweight managed object tree. * **Trivia-preserving JSON5 editing** — comments and other preserved trivia can survive document edits and re-encoding. * **Compatibility layers** for System.Text.Json, Newtonsoft.Json, and DataContractJsonSerializer. * **Apache-2.0 licensed.** ## 3. 30-second example Install the core package: [code] Serialize, deserialize, parse, and edit through the same API surface: [code] ## 4. Performance Environment: BenchmarkDotNet, .NET 10 (X64 RyuJIT x86-64-v3), AMD Ryzen Threadripper PRO 5975WX, Windows 11. ### Summary: speedup vs System.Text.Json `JsonSerializer` | Dataset | Deserialize | Deserialize (parallel) | Serialize | | ------------------- | ----------: | ---------------------: | --------: | | `canada.json` | **1.68x** | **2.84x** | **1.06x** | | `citm_catalog.json` | **1.77x** | **2.25x** | **1.62x** | | `twitter.json` | **1.36x** | **2.34x** | **1.42x** | These ratios describe the benchmark datasets shown below; they are not universal performance guarantees. ### Deserialize: `canada.json` (numeric-heavy, ~2.2 MB) ### Deserialize: Mean / Allocated | Dataset | RE:Dox | RE:Dox (parallel) | System.Text.Json | S