CAPCOM-TD-OSS/REDox

High-performance, token-based structured data engine for .NET. A core component of REX, the technology behind CAPCOM's next-generation game engine.

해결하는 문제

RE:Dox는 .NET용 고성능 구조화 데이터 엔진으로, 속도, 메모리 사용량 및 편집 가능성 사이의 트레이드오프를 해결합니다. JSON, CBOR, MessagePack 등 다양한 데이터 형식을 컴팩트하고 공유된 토큰 기반 중간 표현으로 변환하여 구문 분석, 편집 및 직렬화를 위한 통합된 방법을 제공합니다.

작동 방식

RE:Dox는 무거운 객체 트리를 생성하는 대신 입력을 고정 크기 64비트 토큰 배열로 구문 분석합니다. 이 구조는 컴팩트한 문서 모델과 직렬화기를 위한 공통 레이어로 동시에 작동합니다. 구조가 완전히 주소 지정 가능하므로 엔진은 자동 병렬 역직렬화, 순서가 다른 생성자 바인딩, 값의 지연 디코딩과 같은 고급 작업을 수행할 수 있습니다. 읽기와 쓰기에 서로 다른 경로를 사용하여 성능을 최적화합니다. 쓰기는 데이터를 버퍼에 직접 스트리밍하고, 읽기는 토큰 DOM을 구축하여 임의 액세스와 효율적인 조작을 가능하게 합니다.

대상 사용자

이 프로젝트는 게임 엔진이나 대규모 복잡한 데이터 페이로드를 처리하는 시스템과 같은 성능 중요한 애플리케이션에서 작업하는 .NET 개발자를 위해 설계되었으며, 표준 라이브러리보다 빠른 직렬화 속도와 낮은 메모리 할당이 필요합니다.

주요 기능

  • 고성능: System.Text.Json에 비해 훨씬 빠른 직렬화 및 역직렬화를 제공하고 메모리 할당을 줄입니다.
  • 병렬 처리: 큰 배열을 자동으로 감지하고 요소를 병렬로 역직렬화하여 CPU 사용률을 극대화합니다.
  • 통합 API: JSON, CBOR, MessagePack 및 INI를 포함한 여러 형식에서 단일 변환기 모델을 사용합니다.
  • 가변 토큰 DOM: 전체 문서를 다시 빌드하지 않고 구조화된 데이터의 제자리 편집(삽입, 삭제, 교체)을 허용합니다.
  • 트리비아 보존: 주석과 공백을 유지하면서 JSON5 편집을 지원합니다.
  • 호환성: Newtonsoft.Json 및 System.Text.Json과 같은 기존 직렬화기를 위한 레이어를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트