2 Repos
Techniques for copying primitive arrays directly in memory to maximize serialization throughput.
Distinct from Zero-Copy Memory Mappings: Distinct from Zero-Copy Memory Mappings: focuses on high-speed copying of primitive arrays rather than mapping files to memory.
Explore 2 awesome GitHub repositories matching data & databases · Direct-Memory Struct Copying. Refine with filters or upvote what's useful.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
Provides high-throughput serialization by performing unsafe memory copies of primitive arrays to bypass element-by-element processing.
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 high-speed serialization by copying the memory layout of blittable structs directly to the output stream.