1 Repo
Memory-efficient reading and writing of binary data that avoids intermediate buffering and allocations.
Distinguishing note: None of the candidates refer to low-level memory-efficient IO primitives like Span or Memory in the context of serialization.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Zero-Allocation Binary IO. Refine with filters or upvote what's useful.
MemoryPack ist eine performante Binär-Serialisierungsbibliothek für C# und Unity. Sie bietet eine Zero-Allocation-Daten-Pipeline und ein Schema-Evolutions-Framework, das darauf ausgelegt ist, Speicherallokationen und Kodierungs-Overhead zu minimieren. Das Projekt nutzt Source-Generatoren zur Kompilierzeit, um Laufzeit-Reflektion zu vermeiden, und implementiert ein Zero-Encoding-Binärformat für maximalen Durchsatz. Es zeichnet sich durch einen Zero-Allocation-Ansatz aus, der Objektinstanzen wiederverwendet, um den Garbage-Collection-Druck zu reduzieren, und das Speicherlayout nicht verwalteter Structs direkt in Binär-Streams kopiert. Die Bibliothek deckt Binär-Schema-Versionierung für Abwärtskompatibilität ab und unterstützt asynchrones Collection-Streaming für große Datensätze. Sie enthält einen TypeScript-Typ-Generator zur Synchronisation von Datenstrukturen zwischen C# und TypeScript für den sprachübergreifenden Datenaustausch. Zusätzliche Funktionen umfassen Payload-Kompression, benutzerdefinierte Formatter-Implementierungen und Serialisierungs-Callbacks.
Implements a memory-efficient binary IO pipeline that minimizes allocations during serialization and deserialization.